add checkpoint API to FileNBManager
add notebook checkpoint handler
add ModifyCheckpoints handler

separates requests that change specified checkpoint IDs from those that do not.
checkpoint info is a dict

two keys: checkpoint_id and last_modified
expose notebook checkpoints in html/js

- cmd-S does a plain save
- ^M-s does checkpoint
- add save checkpoint to File menu
- save button in bar does checkpoint
add some checkpoint messages to the notification area
add Revert to the menu bar
trigger autosave on tab/window close

instead of "please don't leave!"