Store links when creating a dashboard

When a user POSTs an array of links, store them on the dashboard
model.
Respond to duplicate dashboard slugs with a 400

Standardise errors from the dashboard endpoint by always returning
JSON.
Add a serialize method to a Dashboard