Significant progress.

- Added integration tests.
- Added a setup.py file.
- Python 2.7/3 compatibility.
- Pulled out the protocol into its own module.