_droppath() already checks "dirs" in self._map.__dict__ before accessing
self._map.dirs. This updates _addpath() to be equally cautious.
I don't think it's safe to do this. We're looking for clashes between files and directories, so we do need to look in self.dirs, even if that means generating it because we're accessing it for the first time.