PyPI Distribution Code

This Pull Request contains all patches that make this repo distributable to PyPI.