'Which alternative versions of the specified kind of item exist?
The archive directory where the current version is stored is
consulted to obtain the list of alternatives.
:param str kind: the lineage member item (
``cert``, ``privkey``, ``chain``, or ``fullchain``)
:returns: all of the version numbers that currently exist
:rtype: `list` of `int`'

def available_versions(self, kind):

    if (kind not in ALL_FOUR):
        raise errors.CertStorageError('unknown    kind    of    item')
    where = os.path.dirname(self.current_target(kind))
    files = os.listdir(where)
    pattern = re.compile('^{0}([0-9]+)\\.pem$'.format(kind))
    matches = [pattern.match(f) for f in files]
    return sorted([int(m.groups()[0]) for m in matches if m])
