Initial API server and documentation.

found in /api/web.py and runs on port 5555

(mg squashed some commits here)
Custom JSON encoder for Inbox model objects
[SCHEMA] store message `blocks` in a separate table `parts`

This change is important for future use where non-message blocks can be uploaded to a namespace. The `part` objects are attachments on messages, and inherit from the `block` foundation, which provides the appropriate hashing, IDs, and Blob storage to S3 options.