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
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