Full REST support

All pages now have a JSON and XML response type as well as an HTML response.

* HTML responses have links to other resources.
* JSON and XML responses are formatted in accordance with the [HAL specification](http://stateless.co/hal_specification.html).
* CSV responses have links in the `Link` HTTP response header.