Setup script cleanup

I've made a few small changes to the setup script to improve its usefulness. See the individual changesets for the particular changes. If any one is undesirable, feel free to cherry-pick others.

The change for setuptools support is particularly nice for me as it adds "setup.py develop" support.