Add GET /dashboards to return a list of dashboards

This endpoint returns a list of all dashboards in the database,
formatted with:

- id, the UUID of the dashboard
- title
- url, the Stagecraft endpoint for the dashboard
- public-url, the dashboard's location on GOV.UK
- published, a boolean indicating publishedness.
Merge pull request #242 from alphagov/77610398-add-get-list-dashboards

Add GET /dashboards to return a list of dashboards
Add type to link response to mirror what is being posted.

This should allow us to render and edit form
Merge pull request #243 from alphagov/add-link-type-to-get

Add type to link response to mirror what is being posted.
Use JSON API errors

We would like to return more useful, consistent, structured data to
clients. Testing out this approach for dashboards, as discussed.
Merge pull request #246 from alphagov/feature/dashboard-errors

Use JSON API errors
Allow PUTs containing modules to work correctly

When putting a list of modules, if they include an id, then update the
module with data from the PUT request.

Not yet implemented removing module as it is a separate story, but have
added a skipped test for this functionality
Merge pull request #247 from alphagov/allow-module-updates

Allow PUTs containing modules to work correctly
Switch to data_group and data_type in get response

Avoid exposing the data_set id in the api, as it is a numeric field
rather than a uuid, and we use data_group and data_type for creating
modules, and never require the id.
Merge pull request #248 from alphagov/data-group-and-data-type-in-admin-dashboard-get

Switch to data_group and data_type in get response
Add page-type to list of dashboards

Spotlight needs this, and we should ensure it’s part of the published
schema.
Merge pull request #249 from alphagov/feature/page-type

Add page-type to list of dashboards