Add python testing. 

This isn't 100% complete due to the confusion with __init__.py files. Closes #8