Add support for Checkpoint to Allocate

- Allocate now uses Checkpoint to save/restore its BitSet
- Slightly modified Checkpoint.restore to return its object
Begin work on integration tests