2989 - avoid do..while with complex conditions

At some point during the layers voyage the repl started requiring the
second newline for single-word exprs like 'a or 1+1.

Hmm, perhaps this way is better. Perhaps we should even require the
second newline for parenthesized exprs like (+ 1 1). Would be more
consistent with the directions at the start.
2990 - avoid peek() in interactive mode

I'd added it in 2761, back when we were checking the entire trace.

The move away from at_start_of_line also happened somewhere in the
course of the layers voyage. I took it out with parenthesize, but forgot
to bring it back.

Conundrum: how can I check in a test that the repl doesn't call peek()?
2991

Can't rely on tests to reset environment; they could exit early.