Add /dev/emails page for testing email output
Rework copy for the reply notification
Add an html variant of the reply_notification email
Add html variant for the notification emails
Add a TemplateRenderException

This allows the template rendering to catch known rendering issues
and handle them accordingly. Such as having no record of the
notification recipient. All other exceptions now pass through.
Raise the error if a notification fails to send
Add tests to validate the email notification content
Ensure wording is consistent in notification email
Do not catch any exceptions in the notifier
Fix example notification email text

Remove unused template variables.
Update d-t-m to a0c4858g (master branch)

More robust error checking.
Update Annotator to 0d3b9203 (typed-packaging branch)

 - PDF: Support latest PDF.js (v1.0.277)
 - TextRange: Handle an error condition
Fix URI tokenisation
Merge pull request #1422 from Treora/fix_uri_tokenisation

Fix URI tokenisation
Simplify the tags input styles

* Simplify the tags, no gradients or drop shadows.
* Use less padding to make them smaller.
* Remove the background color so they adopt the input background. This
  works nicely when the field loses focus.
* Increase the hit area of the delete button. It now takes up the entire
  right side of the tag.
Merge pull request #1424 from hypothesis/tweak-edit-tag-styles

Simplify the tags input styles
Merge pull request #1397 from hypothesis/notification-email

Notification email copy and formatting
Put annotation code together as a directive

Get rid of app_directives.coffee and make it into annotation.coffee
under the directives folder. Put the annotation controller from
controllers.coffee in with it.
Use hyphen as an optional URI index delimiter

Our two patterns capture arbitrary URI parts and the authority part,
respectively. However, the authority part did not allow for hyphens,
which are a valid part of a domain name.

Rather than change the existing rule, add a new rule which includes
the hyphen. This means domains like "my-face.com" will token as
"my", "face" and "my-face".

Additionally, move the greedy * in the second clause of the authority
patterns outside the lookahead, otherwise the last part doesn't count
as a token, since it doesn't match the positive lookahead for a dot.

Finally, I find the authority part to be written more clearly with
ranges, as [a-zA-Z0-9], than as a disjunction of matches.
Drop the lowercase in the URI analyzers

We could restore case-insensitive searches at a later date, but
as long as annotator-store uses term queries we need to the original
URI as a token or we'll have serious problems.

Close #1308
Close #1407