Add watchers

A watcher or list of watchers can be assigned to pull requests. Watchers are listed as alternate owners of the request and are pinged wherever the original requester would be pinged.

This PR includes a new test framework for templates. In doing so, some templates were refactored for easier template testing.

Unfortunately, the javascript changes do not have automatic tests. They have been verified through smoke testing with a local test instance and IRC.

Note: This also encompasses the feature request in PR #16