'Add `dist` if we ``can_add()`` it and it isn\'t already added'

def add(self, dist):

    if (self.can_add(dist) and dist.has_version()):
        dists = self._distmap.setdefault(dist.key, [])
        if (dist not in dists):
            dists.append(dist)
            if (dist.key in self._cache):
                _sort_dists(self._cache[dist.key])
