Fleshed out Notifications with priority enhancements

Large update that fixes major bugs with existing functionality, adds infrastructure that exposes more options for customization, and implements email notifications for priority 1 items.

Bugs
* emails were sent out erroneously when users failed to enter their profile info
* lack of distinction between audiences in delivery generation meant that all users would have to be notified of an action identically rather than receive a custom email related to their role in the action or entity acted upon

Enhancements
* Enhanced email and notification configurations to structure data in a deeper fashion, allowing for more customization options
* Added more content to configurations and services so that more actions are able to be triggered
* Added triggered email actions to projects and tasks upon commenting and volunteering
* Added email controller to return mailto link for client-side href generation. Eventually this will be an option along with server-side html email
* Added ability to generate prefilled text emails for profile, project, and task pages
added further refinements and added comments

*Added comments to add clarity
*Removed UserNotification model to reduce persistence footprint and make notification process more efficient
*Fixed a bug with email notification delivered to project owners on new topic creation
*Changed console.logs to sails.log.debugs
*Removed href-specific newline characters in email text templates
Merge branch 'sprint9-feature-notifications' of https://github.com/Innovation-Toolkit/midas into sprint9-feature-notifications

Conflicts:
	api/controllers/EmailController.js
	api/models/Comment.js
	api/models/Volunteer.js
	api/services/notifications/audience.js
	api/services/notifications/dispatcher.js
	api/services/notifications/manager.js
	api/services/notifications/notification.js
	api/services/utils/comment.js
	api/services/utils/lib.js
	assets/email/layouts/default/text.ejs
	assets/email/templates/contactUserAboutProfile/text.ejs
	assets/email/templates/contactUserAboutProject/text.ejs
	assets/email/templates/contactUserAboutTask/text.ejs
	assets/email/templates/projectCommentOwnerReply/html.ejs
	assets/email/templates/projectCommentOwnerReply/text.ejs
	assets/email/templates/projectCommentParentReply/html.ejs
	assets/email/templates/projectCommentParentReply/text.ejs
	assets/email/templates/taskCommentOwnerReply/html.ejs
	assets/email/templates/taskCommentOwnerReply/text.ejs
	assets/email/templates/taskCommentParentReply/html.ejs
	assets/email/templates/taskCommentParentReply/text.ejs
	assets/email/templates/taskVolunteerAddedOwnerReply/text.ejs
	assets/js/backbone/apps/profiles/show/views/profile_show_view.js
	assets/js/backbone/apps/project/show/views/project_item_view.js
	assets/js/backbone/apps/tasks/show/views/task_item_view.js