Replace `documented-procedures` with `chookstrings`.

This is a better version of the previous docstring functionality. Only
now the docstrings are stored as part of the procedure. It contains
three helpers: 1. define*/lambda*, which should act exactly as their regular
counterparts only they now allow an additional elisp style docstring to
be added, and 2. docstring, which allows either reading the docstring
of a passed procedure, or setting one when passed a string and
procedure (useful for match-lambda and the like).
Using `chookstrings`, add docstrings to all top-level procedures.