Storing location objects and returning an object instead of just an ID

Agreed, was going to fix this as part of this pull request but not now. 

JSHint comes with a nice handy `"devel": false` attribute, however this is being ignored for me and our linting still fails. I've tried a few things this evening like setting `"globals": { "console": false }`, however that seems to be overwritten too.

The problem appears to have come from the `"node": true` attribute which tells jshint that this is a node based project and while that's partially true it's not something we want for our source files. I think we need someone to do a short review of our jshint to find out exactly what we are / want to do with it and look into the following: 

https://github.com/gruntjs/grunt-contrib-jshint#specifying-jshint-options-and-globals

This shows we can set different default options to our linter based on where the file is, so we can add the `"node": true` option for our grunt / build files where we expect node and set that to false by default for our other files.

I know we're using these linter options for the locator_news_responsive, google-maps-util and locservice-core-js projects and it would be good to get all of them linted correctly and warning us of potential 'console', or 'debug' leaks in our code.