IPEP 15: autosave the notebook

See [IPEP 15](https://github.com/ipython/ipython/wiki/IPEP-15%3A-Autosaving-the-IPython-Notebook) for details of the proposal.

This is not quite complete, the most glaring omission is, of course, the autosave timer itself, but that's pretty trivial.  The checkpointing machinery is fairly complete, and ready to discuss / review.

The gist: autosave will do a *real* save periodically. To address the undesirable effects of true autosave, user-initiated saves create *checkpoints*, which can be restored. In this preliminary implementation, the file-based notebook manager only supports one checkpoint.