Add a `hard` option to halt and restart

Closes #25.