Reject messages with missing JSON body
Remove much of the functionality

This will be the container for the web client and most of this is not
needed now.
Add list of properties

Needed for iterating over properties that are user editable
Significant refactoring

Lots of changes to interfaces. All backend methods can throw fatal
exception. Fully acceptance tested now against test database.