Added a setup.py (needs a little more documentation on what each patch does)