add setup.py

Refactor to use python packaging standards