message: CheckpointManager: Record a new checkpoint in the index before deleting anything.
  Writes out the index twice, but will be more likely to have indexed the new checkpoint if it's interrupted for some reason while deleting.
diff: @@ -709,6 +709,13 @@ class CheckpointManager(object):
  del self._maybe_delete[save_path]
  self._maybe_delete[save_path] = timestamp
  self._latest_checkpoint = save_path
  + # Before deleting anything we update the Checkpoint proto with the new
  + # checkpoint. We'll go back and correct it after cleaning up old files, but
  + # a preemption while deleting will be more likely to see the new checkpoint
  + # this way.
  + self._record_state()
  self._sweep()
  + # Write out the Checkpoint proto a second time, now without the deleted
  + # checkpoints.
  self._record_state()
  return save_path
  