Switch from 500 to 418 http error for tenant that is not available/initialized.
Issue #249 - Removed unneeded query in hasRole and hasAnyRole
Issue #342 - Bumped test coverage for the oae-util module.
Merge branch 'master' into issue-342

* master:
  Review fixes
  Fix refreshedStrategies event parameter to be tenant object
  Review: avoid listener leak, emit refreshedStrategies for user tenants not global
  (CassandraPaging) Make paging columns suck less
  Fixing race condition in file cleaner
  More code clean-up from review
  Changes from self-review
  Remove search and activity delays
  Remove notion of 'COLLECT_DELAY'
  Synchronizing many race conditions:
  Use getMultipleContentItems + minor doc fixes
  Forcing reset of activity configuration to defaults after each test.
  (Issue 369) Wait for MQ to empty in searchRefreshed. Also delay after refresh command.
  (Issue 369) Rather than wait timeout, wait until MQ processing finishes
Merge branch 'master' into authz-reduce-query

* master: (47 commits)
  Review fixes
  Fix refreshedStrategies event parameter to be tenant object
  Review: avoid listener leak, emit refreshedStrategies for user tenants not global
  (CassandraPaging) Make paging columns suck less
  Fixing race condition in file cleaner
  More code clean-up from review
  Changes from self-review
  Remove search and activity delays
  Remove notion of 'COLLECT_DELAY'
  Synchronizing many race conditions:
  getContent now gets maximum 1 column when a piece of content cannot be found/has been deleted.
  Use getMultipleContentItems + minor doc fixes
  Re-enabled lastModified test + used constant for visibility.
  Issue 251 - lastmodified fix
  Added a content DAO
  (ReindexAll) Change Error to an http error object
  Fixed up relatedcontent filter + PR follow up
  (ReindexAll) Changing format of iterateAll + other review changes
  Temporary using grunt-mocha-hack till mocha and grunt can play together.
  Added Facebook picture support
  ...
(MqRetry) Reconnect properly when RabbitMQ temporarily becomes unavailable
Merge branch 'master' into authz-reduce-query

* master:
  Fixed documentation error in README
  Fixed doc typo
  (ActivityPerformance) Cleaning up config docs and defaults
  (ActivityPerformance) Bad logic when using dedicated redis config for activity.
  Improved some variable naming.
  Self-review for activity performance work
  Slice the last part of the hash to avoid overflow
  Adding telemetry for buckets
  Setting maxConcurretRouters=5 and collectionBatchSize=1000 based on performance testing activity bucket stability
  Setting prefetchCount on the subscribe option, not the root option
  Making prefetch for concurrent routing configurable so it can be throttled.
  (ActivityPerformance) Fix bug where uncollected activities can be removed from a bucket.
  (ActivityPerformance) Store entities by reference to reduce memory consumption
  (ActivityPerformance) Provide ability to configure dedicated redis server.
  Streamline naming of telemetry routes in activities
Issue 320 - Ensure that a group or content item always has 1 member.
(CSRFReferer) Check referer on incoming requests to verify they are same-origin.
Content iterateAll fix.
Merge pull request #249 from simong/authz-reduce-query

`hasRole` and `hasAnyRole` both perform one more query than necessary
Merge pull request #342 from simong/issue-342

Improve test coverage for oae-util
Removed unneeded testcase for issue 320
Let bunyan-syslog exist
Alphabetic ordering of dependencies
Shibboleth authentication
Google picture followup
Shibboleth Authentication PR Follow up
 * Using simong/passport-saml#master
 * Made the SP certificate global admin only
 * Added some docs
 * Styling issues
Google/Twitter Picture PR followup:
 * Cassandra.constructUpsertQuery filters out keys with null/undefined values
 * Created a TenantsUtil.getBaseUrl(tenant) utility.
Merge branch 'master' into issue-400