Introducing version.py and using it in setup.py to get the python
package version number from `git describe`, so we can have officially
tagged versions, and releases distinguished by commit hash.

Also introducing Makefile, which helps regiment some of these setup.py
commands, and will facilitate auto testing.