upgrade to setup.py

* Use setuptools instead so we can do things like `setup.py bdist_wheel`
* Change test runner so that `setup.py test` actually runs with nose
* Correct URL
* Use codecs to read the README in case it ever contains non-ascii characters