added IfStatement generation
implemented RepeatStatements

* changed comments to be indented
* renamed gen_new_label() to gen_label()
* added methods to generate brfs and brts to specific labels
* added test programs for if/repeat statements
implemented WhileStatements
refactored branching method names

* gen_branch_* is used for generating that type of branch to a NEW
label, and returns a SemanticRec with the new label's information
* gen_branch_*_to is used for generating that type of branch to an
EXISTING label, and returns a SemanticRec with that label's information
implemented ForStatements