Add a profiler to monitor various aspects of the app.

Using rack-mini-profiler we can now see:
* ActiveRecord query times
* Render times of views (including partials)
* Internal Ruby metrics:
 * Object creation counts
 * Garbage collection counts and timings

This functionality is turned on by default in development mode and off in test
mode. In production it can be turned on for admin users if required.