Documentation

Adds docstrings and a first draft of a user manual.
I don't have a strong opinion either way. But the reason I had done this the other way around is that I was following package.el's example. to `M-x find-function RET package-list-packages` for instance.