Improve docstrings in models.book, and make Book.lookup a normal function
Have mutate() keep the old values if they're not found in the request
Enforce some fields as required
Add module docstrings