Restore directory optimization

This pull request again prevents walking of unmanaged directories.

I must say I am no longer happy with how this turned out. Three quarters of the code, and two thirds of the runtime, are spent supporting symlinks. I am especially concerned about the latter because, thanks to how setuptools works, the plugin is invoked by nearly every setup.py command. You (@wichert) seem to be the only person in the world using that feature. What's wrong with Git submodules anyway? ;-)

I'd much prefer to rip it out like I have done on my [no-symlinks](https://github.com/stefanholek/setuptools-git/compare/master...no-symlinks) branch.

/cc @mcdonc