Do not route an activity to a manager of a collabdoc if he's editing the document as well
Support exclusion associations for activity routing
Storing etherpad author mapping in Redis + code cleanup
Code cleanup on collabdoc notification PR
ContentDAO.Etherpad.getUserIds returns an object
Don't send emails for content metadata update or restoring revisions
Merged oaeproject/master into simong/collabdoc-notifications
Email Aggregation

Rather than sending out an e-mail per activity, mails will be aggregated with other emails that have ocurred recently.

This work adds an `emailPreference` field for each user where they can select how they want their email delivered.
 * Never
 * Daily
 * Immediate (with a 10 minute delay to let it aggregate with other activities in those 10 minutes)

The emails are now also internationalizable by virtue of re-using the 3akai-ux template macro's and UI bundles.
Push out email based on the user's timezone
Merged oaeproject/master into simong/collabdoc-notifications
Merged master into simong/emailaggregation
Merged oaeproject/master into emailaggregation
(Email aggregation) Review follow-up

* When marking your notifications as read, no emails will be sent out for previous activities
* Spliced of activity/email bucketing logic into it's own module
* Various clean-up + added tests
* Exposed activity view adapter through the UI api
* Cleaner UI template util functions
bugfix reset aggregation

When there were no active aggregation keys (for example, when you've just
reset your aggregation) we would try to delete nothing, which triggered
an error from Redis.
email template fix for thumbnails
(EmailAggregation) - Added a simple aggregator for email activities
Configurable `emailPreference` tenant default
Marking notifications should only clear the activity stream
when the user’s email preference is set to immediate.
Take the tenant’s default timezone into account when a user hasn’t configured one
Merge branch 'master' into collabdoc-notifications

* master: (29 commits)
  (Release 6.3.0) Remove shrinkwrap
  (Release 6.3.0) Bump version
  remove unused jscoverage instrumenter
  (TravisCI) Don't cat logs, even filtering to errors will blow out the console
  (URI Cleanup) Add assertions for response model of picture endpoints
  (URI Cleanup) Additional comment formatting clean-up
  (URI Cleanup) Review followup
  (URI Cleanup) Improved tests for URI assertions. Minor code cleanup
  Documentation improvements
  Added some documentation on bodyParser(limit)
  (URI Cleanup) Followup from self review
  (URI Cleanup) Don't output URIs, add downloadPath to revision
  Upgrade express to latest
  OAE_COVERING is no longer used
  Point oae-rest back to 'latest'
  (Release 6.2.0) Remove shrinkwrap
  (Release 6.2.0) Bump version
  Pointing oae-rest to oaeproject's github rather than mrvisser's.
  Improve image JPG conversion logging
  soffice binary default is soffice not soffice.bin
  ...