We need to invalidate on update as well as reauth

Signon will send a reauth message when a user is logged out or
suspended, but a user can also lose permission to our app through their
permisssions being updated.

We should be invalidating on an update otherwise a user can be updated
to not have permissions and carry on using the app. BAD!
Merge pull request #198 from alphagov/bugfix/update-and-reauth

We need to invalidate on update as well as reauth
Refactor to use recursive method from the start - tests still pass
Merge pull request #197 from alphagov/view-onto-dashboard-json

Initial implementation of public dashboards api
Add 4th option to dashboard business-model

This change mimics alphagov/spotlight@b9ec3720ca154d45c782c5a48751feb7f1b8c008.
Merge pull request #199 from alphagov/add-option-to-dashboard-business-model

Add 4th option to dashboard business-model
@wip [#75970906] Add view to create a new dashbord
Move is_uuid to validation library

It needs to be used by the dashboard app
Handle dashboard failure modes

Also introduces a govuk signon test decorator.
WIP: serialize a dashboard