Reorganise project structure

Move things around in preparation for major API change.
Convert README to rst
Add setup.py
Add .travis.yml
Add bumpversion.cfg
Add memoized property decorator to utils
New wrapper around all API endpoints
New exceptions
Add Compound object
Add async search wrapper
Expose top-level objects through __init__.py
Redo tests
Fix requirements