Loops can contain next / break keywords inside if blocks

Kind of hairy -- I'd much rather prefer composition of functions here, or maybe
even some state on the parser to duplication of parser rules here. For now, this
keeps the parser moving forward, it can always be changed later.