NotificationBundle

Added NotificationBundle, which provides:

- JS view for listing notifications (not integrated with sidr yet - will wait on templates rewrite from Stu this week)
- NotificationProvider for fetching notifications for users and groups
- NotificationManager for persisting notifications
- NotificationFactory for instantiating new notification entities
- NotificationMessageInterface which is used for bundles creating notifications

Notifications are created as follows:

1. Bundle has a model which implements NotificationMessageInterface, which gets injected into NotificationFactory#notifyUser() or #notifiyGroup() method
2. Notification is returned
3. Any other logic is triggered in the calling bundle
4. The calling bundle persists the notification via the NotificationManager