Change error message response

closes #2643
- added error type
- added error property for validations
- wrapped errors in an array
- returns multiple errors for validation
- updated tests and admin
Merge pull request #2669 from sebgie/issue#2643

Change error message response
updated error handling on all mocha tests

- switch to using catch
- added error handling where missing
Merge pull request #2692 from cobbspur/newerror

updated error handling on all mocha tests
Docs: switch to docker & finalise config

 - We no longer need grunt-groc as we are going to use docker instead
 - Compile docker to 'docs'
 - Docker has a nice option for only building updated files
 - Added a few files we didn't need dockering to exclude list
Proper endpoints for persistent notifications

closes #2637
- Add new get API route for all notifications
- Wrap API responses to comply with JSON-API
- Add new tests / adjust fixtures
- Adjust all occurences of passive notifications
Merge pull request #2665 from halfdan/2637-persistent-notifications

Proper endpoints for persistent notifications
Consistency in model method naming

- The API has the BREAD naming for methods
- The model now has findAll, findOne, findPage (where needed), edit, add and destroy, meaning it is similar but with a bit more flexibility
- browse, read, update, create, and delete, which were effectively just aliases, have all been removed.
- added jsDoc for the model methods
Merge pull request #2688 from ErisDS/model-cleanup

Consistency in model method naming
Add gzip compression, can be disabled in config.js

Closes #1305
- added compression module
- added new server config variable: compress
- gzip enabled by default
Merge pull request #2687 from shindakun/expressgzip

Add gzip compression, can be enabled/disabled in config.js