Issue #276 - surveyGroup list service for device
Issue #276 - introduce isMonitoringGroupFlag and related functionality
Issue #276 - introduce newLocaleSurveyId

* this lets the user select the survey which can create new surveyedLocales
Issue #276 - code cleanup
Don't create new survey group or change name when empty string.
Merge branch 'develop' into feature/point-updates-v4
Issue #276 - move code
Issue #276 - only send surveyGroups that contain surveys the device needs
Issue #276 - include surveyGroupId in list of surveys send
Issue #276 - remove unused code
Issue #276 - change way of creating surveyedLocale

* always create a surveyedLocale, not only when a GEO question is present
* create an id based on the UUID
* update surveyedLocale counts
Issue #276 - add surveyGroupId field to Locale

* includes method to find locales by surveyGroupId
Issue #276 - introduce SurveyedLocale endpoint

* this is a rest service that handles device calls
for surveydLocales. It can deliver the total count of available
locales, or a json object of the locales themselves.
Issue #276 - introduce localeNameFlag and localeLocationFlag
Issue #276 - use new json library to create surveyedLocale json

* the json library we use at the moment does not handle array lists
correctly. Therefore, for this part of the code, we use the library from
https://github.com/douglascrockford/JSON-java, which is recommended on 
the json.org site. At some point, we need to consolidate the various
json libraries in use in the codebase.
Issue #276 - provide surveyedLocale data in JSON
Issue #276 - use code field instead of name field for surveygroups
Issue #276 - set monitoring group flag on change of selected survey

* we need this to correctly set the flag when we are editing a survey
and return to the survey overview screen.
Issue #276 - whitespace corrections
Issue #276 - add Locale information to surveyInstance kind