Simplify API, remove BaseName and BaseCredential

Also begin to add Sphinx documentation in docstrings.
v0.4.0

Add all the documentation, move TODO list to Sphinx docs.