(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.
Fixed some docs
(OptionalWebshot) A recent update in webshot pulls in phantomjs, which fails on smartos
Merge remote-tracking branch 'origin/master' into notifications-emails

Conflicts:
	node_modules/oae-activity/lib/api.js
Fix logical merge conflict