Update setup.py to use setuptools and include more information
Move to standard folder based package structure
Updating __init__ files to properly conduct imports
Allow setup.py to work with both setuptools and distutils