Added support for:
- for
- switch
- do-while
- while
Also implemented assignment to enable useful tests.
The patch also includes range-based for loops which are
not yet tested, but having them in ByteCodeStmtGen should
simplify the process of slicing off further patches.