Improvements to notification system (Bug #1299993)

- Each activity type can specify a default notification method. They default
  to 'email' to remain backwards compatible.
- Each activity type can specify if it is allowed to be set to 'none'. Defaults
  to 'allowed' for backwards compatibility.
- Removed 'required' from notification settings - it didn't make sense, and the
  change above deals with this in a better way.
- The site wide defaults for each activity type can be edited in
  Site options -> Notification settings. These are applied to new users or
  whenever a user does not have the appropriate usr_activity_preference records.
- Removed 'Default notification method' as it's functionality is now covered by
  the change above.
- There is a separate help next to each activity type to explain what messages
  will be affected by the setting.

Change-Id: I131cdeefbeaa8e43688aefd9d770fc8cb9bceea8
Signed-off-by: Nathan Lewis <nathan.lewis@totaralms.com>