Make waiting for the operator mid-phase safer
A phase that waits for its operator now behaves predictably when the operator answers late, when two threads wait at once, or when an answer is incomplete.
- Fixed an answer submitted after a phase timed out being recorded as a measurement of that phase
- Fixed a phase hanging when two of its threads waited for the operator at the same time; the second wait now fails with a clear error
- Improved error messages: a wait without a screen or a duplicate wait reads as a procedure error, and an incomplete answer no longer says the operator cancelled
- Fixed the terminal UI moving a refreshed prompt to the back of the queue
