Documentation

Adds docstrings and a first draft of a user manual.
I believe emacs does it with find/replace