API cleanup (import version 2.0), Sphinx-based documentation (not built by default)

Initial work on documenting the module and also added some comments (in the documentation) how we should probably sanitize the API as starting point for discussion.
You should explain more explicitly that the function name must start with a lowercase letter, and it will still match the uppercase letter signal. The 'rc' trick should be unnecessary 99% of the time now.