Refactor/events

- Extract event_items from Event model
- Made 'publish' and private 'notify_user' methods for each Event Item
- Extracted notifications from Long Method smell in _notifications to NotificationItems base inheriting NotificationItem base class.
- Added specs for existing DiscussionItems and their base class