Support for using break and continue in a while block.

The code has been generalized so when you create a new scope, you can also
give it a start and end block. 'continue' will jump to the start, 'end' will
jump to the end.

This same mechanism should work whenever using break/continue in any looping
construct.

Because break/continue are kept with scope information, it should be easily
possible to have named break/continue statements. This hasn't been done yet.
Implemented comments in the lexer.

Both // and /* */ are implemented. /* */ comments can be nested, unlike
in C where they can't be nested.