Merge pull request #187 from alphagov/feature/organisation-api

Feature/organisation api
Make OAuthUser swallow errors

This can happen if the database goes into a readonly state (for example,
when doing an upgrade or machine migration). Read requests should still
function as expected so the OAuthUser methods must be resilient to this.
Merge pull request #188 from alphagov/make-oauth-user-cache-silent

Make OAuthUser swallow errors
Add statsd counter around OAuthUser db errors
Merge pull request #189 from alphagov/make-oauth-user-cache-silent

Add statsd counter around OAuthUser db errors
Improve get_user timing in statsd

Since the original statsd timer was added, caching of users in
PostgreSQL has been added. The timer is now heavily sqewed.
Merge pull request #190 from alphagov/improve-get_user-timing

Improve get_user timing in statsd
Dashboard models

Basic dashboard model, not including modules or organisations

Most fields are pretty standard fields using djangos orm, but links are
a separate model. There is only one transaction link per dashboard, but
multiple other links can be added

The serialize method will return a dictionary that can be jsonified in a
format spotlight expects