Adjust update check to handle changes in API calls

closes #2681
- fixed api calls and response parsing
- added a test to for update check
- adjusted gruntfile.js to run new update check integration test
Merge pull request #2685 from jaswilli/issue-2681

Adjust update check to handle changes in API calls
Add location header to response when new object is created

closes #2635
- add new logic to the api request handler to set a location header
  when new objects are created
- added an api context to config.urlFor() to return the root url
- added functional tests for the affected routes
Merge pull request #2677 from jaswilli/issue-2635

Add location header to response when new object is created
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
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
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