Add named class instances for resources, and decouple resources from views and forms

A major changeset that can be summarised as:

* API resources now instantiate named classes, as opposed to passing dictionaries around. This means the resources themselves are much clearer and the generic timestamp/linkmap utilities have been removed
* Form instances and resource instances are now decoupled. Event and Conversation have from_{class}_instance methods on their form classes for binding a resource to a form instance (e.g. for editing)
* View representations are decoupled from resources as they now use the named classes mentioned above.

The redirect logic that was previously in use (mainly for form submissions) has been rewritten to be clearer, less error-prone and more secure.

All unit and integration (microweb-integration) tests pass, and some new integration tests for item deletion have been added.