Implement basic checkpoint functionality

This PR adds checkpoint creation and restore.  It does not handle moving/deleting checkpoints when the corresponding notebook is moved/deleted.