Regular update of annotation timestamps

The annotation directive uses the timeHelpers service to get
the fuzzyTimeString and the next time to update.

It wraps the updating with the render service to avoid
the UI update to be flickery and only update when necessary

Fix #1615
Introduce timeHelpers service

Instead of the fuzzyTime filter (and without abusing it)
introducing this service which generates the fuzzyTimeString
(as message) and the next time the fuzzyTimeString should be
updated in seconds (as updateAt) from a given datetime object..
 Kill fuzzyTime filter
Add tests for time-helpers
Only login if not already authenticated

Calling login here calls identity.request to be called, which in turn
eventually results in the onlogin callback running.

The onlogin callback is not currently idempotent (and it isn't trivial
to make it so) so this results in errors being thrown by Annotator.

Fixes #1611.
tests/js: Normalise controller namespace and names

These names were updated in scripts/controllers.coffee but not here.
Break timeHelpers into smaller functions

Code from @nickstenning, introduce the breakpoints array and search
in it for the needed fuzzystring and when to update next instead of
a complex else-if tree.

timeHelpers service has two functions:
- toFuzzyString: returns the fuzzy time string
- nextFuzzyUpdate: returns the next time to update (in sec)
Remove dateFilter

Since we use the fuzzyString for the timestamps and
momentjs for the tooltip the date filter was actually
never used.
Merge pull request #1638 from hypothesis/1615-update-timestamps

Update annotation card timestamps regulary
Add missing terminating newline
layouts: Correct typo in base.html meta tags
h/testing: Fix references to notification templates
Merge pull request #1674 from hypothesis/fix-pattern-library

h/testing: Fix references to notification templates
Fix updateTimeStamp parenthesis

An opening and a closing bracket was lost during the constant
redesign.

Fix #1675
Add a config.js file to the Chrome extension

This allows the Chrome extension to be configured with hypothesisConfig.
Also moved this file and the destroy.js file into an extension
subdirectory to avoid confusion with the main app files.
Show highlights when showHighlights option is provided
Add unit tests to verify showHighlights option
Include the hypothesisConfig in the bookmarklet
Use a meta tag to signify a first run

This allows the page to notify the chrome extension via an "intent"
meta tag that the sidebar should launch in first run mode.
Handle login validation in colander

This is a step toward weaning off the horus views.

Close #1660