Allow for a limit querystring parameter in the relatedcontent search feed.
#418 Purging the RabbitMQ queues after tests.
(Notifications) Change router callback to take object {'stream', 'notification'} instead of String[]
(Notifications) Emit event when delivering notifications and activities
(Notifications) Centralize principal updates to DAO for more stable cache eviction
(Notifications) Switch api.group to use dao for principal update
(Notifications) Partial commit, starting unit tests. Squash me
(Notifications) Fixed routing with a couple unit tests
(Notifications) Count unread notifications rather than a simply flag
(NotificationsEmails) Starting emails
(NotificationsEmails) Adding oae-email module.
(NotificationsEmail) Adding a bunch of stuff. Broken, so squash me.
Unit tests passing. Removed testing templates to start adding real ones.
(NotificationsEmail) Fixes from testing, adding sample notify-content-share template
(NotificationsEmails) Improved user caching. No longer invalidates user when updated, just updates the cache
(NotificationsEmails) 'RecentCommenters' notifications, improved content privacy for activity, documentation
(NotificationsEmails) Templates, Unit Tests

* Added all notifications email templates
* Added unit tests for template selection
* Added more method documentation
(NotificationsEmails) Unit tests for template errors, and individual notifications
(NotificationsEmails) Changes from self-review
(NotificationsEmails) Fix broken build.
Store authenticated userid on cookie, not redis

* Pro: Redis server can now have an eviction policy
* Pro: Smaller deployments can have activity and main redis together
* Pro: Cuts down one redis request per API request
* Pro: Not forced to have an absolute TTL on sessions

Con #1: UserID is visible on cookie. TODO: needs encryption

Con #2: Without absolute TTL, cookie could be hi-jacked indefinitely
(until private key changed). Only difference here between Redis impl is
that the redis cookie will expire eventually. Could attach a timestamp
to cookie and inspect refresh every so often (e.g., setting a new cookie
every 30min would require users to make a request at least every 30
seconds lest they lose their session).
Encrypting userid in cookie