Initial configuration implementation

* Pub/Sub mechanisme via Postgres listen/notify
* Caching of configs + invalidation over pub/sub
* Getting / Updating configs
Cleaned up some logic in the config module

* Getting app when updating config
* Returning 404 when a config could not be found
Config cleanup

* Passing in the app as a query/body parameter, not via the path
* Removed shibMapLocale
* AppsTestUtil.create only returns when the config has been cached
* Cleaned up jsdoc
* Expanded tests
Aligned field names in config restmodel
Added a `generateTestTenant` test utility function
Fixed intermittent failure when creating applications
Temporarily logging tests output on travis
Add a GA enabled and GA Tracking ID configuration field
Renamed Google Analytics config fields
Added google config values to REST model and tests
Consolidated TestsUtil.generateTestApp / generateTestTenant utilities
Improved test utilities for config cache invalidation
Merge branch 'config' of https://github.com/fronteerio/grasshopper into config
Added capital cases to Google Analytics
Allow you to specify a context when subscribing to a serie

This allows the UI to specify an organisational unit as context when
subscribing to a serie. We need the UI to tell us what the context is
as series can be borrowed under multiple organisational units and the
backend has no way of knowing which one is the relevant one.
Removed second query to get the contexts
Wait till both caching and request are finished when creating apps
Renamed `context` to `orgUnit` when subscribing to series
Merge branch 'calendar-context' of https://github.com/fronteerio/grasshopper into calendar-context
User calendar serialisation