Merge branch 'allow-cat-while-in-progress' into pu

* branch allow-cat-while-in-progress:
  Infer branch name correctly when rebuilding
  Allow --cat and --status to be performed while rebuilding
  Refactor "integration in progress" logic

Allow using `--cat` and `--status` while paused during a rebuild
Merge branch 'exec-instruction' into pu

* branch exec-instruction:
  Add an "exec" instruction
  Avoid opening the same file twice

Add an "exec" instruction to permit the execution of arbitrary
commands.

The security aspects of this might need some more thought; perhaps the
"exec" instruction should be disabled unless a config key is set.