moment.js-related fixes

- add utils.time with a few time-related utilities used in a few places
- fix regular update of checkpoint date, which was only updating every 10 hours, regardless of the relative date
- update moment.js to 2.8.4, required for relativeTimeThreshold getters, which were being used in master, but didn't exist in moment.js 2.7

There's a fair amount of very similar logic in the SaveWidget in editor and notebook, but there are enough small differences that it would be more of a pain to add enough abstractions that they could share a base class than to duplicate a relatively small amount of code.