Documentation

Adds docstrings and a first draft of a user manual.
It is necessary because the ( is at the start of the line, so if you don't escape `emacs-lisp-mode` will think that's the start of a defun.