Persist completed stages

The old pickling logic is removed.  Instead, the server now writes a log of all stages finished to a file, which is read back in on restart.  This behaviour can be disabled with the `--no-restart` flag.