Reorganize and add setup.py to support pip installs