setup.py installation

Adds setup.py and makes miscellaneous fixes to get easy install working