Switch to setuptools (saywaat)

Also add a pytest cmdclass so that one can run tests with
`setup.py test`!
Refactor symlinker to use Exceptions for flow

Static strings? Never code while feverish.