added boilerplate for while loop.

Additional work will need to be done to ensure that it is parsed
correctly. For example, statement("begin x := 10; while x > 0 do begin x
:= x - 1; ! x end") evaluates the x-1 portion too early, otherwise this
works (if you want to loop once!) otherwise you're stuck in an infinite
loop.