Implement the Tag Editor view

closes #2425

- creates custom view for the tag editor
Clear any existing SIGINT listeners during startup

No issue
-remove any existing listeners on the SIGINT event during
 the ghost bootstrap process.  handles an issue during testing
 where node was warning about too many listeners.
Merge pull request #2903 from jaswilli/bootstrap-listener

Clear any existing SIGINT listeners during startup
Merge pull request #2901 from hswolff/tag-editor

Implement the Tag Editor view
Removed API dependency from mailer and api/mail

Fixes #2836.

* Mailer now only handles sending email and initializing settings. Instead of adding new notifications there, it just sets flags on its own object.
* Mailer now checks for the presence of "to". If there is none, it fails. You should really pass a full mail object complete with "to", "subject" and "html", otherwise it's partial content.
* Therefore Mail API doesn't check for the existence of the "to", and doesn't get the email from settings and substitute that
* index.js now has a method that adds the notifications. I figured adding those THERE is probably better than individually in every module. It is, as the comments say, can be made extensible