Modified ifelse so it uses getControlBlock.
Changed semantics for control. Now 'shouldX' for each of break, continue, and return. Return and continue set an additional continueExecuting flag to false.