Cleanup local name generator.
Fix comments and coding style.
Remove useless logging and enable more assertions.
Factor out genThis().
Clean up genStat and exprToStat.

In particular, the logic of the Assign cases was moved to
genExpr(), and merged in one case.
Decompose genApply() in several smaller methods.
Change the order of the params of genIs/AsInstanceOf.
Use pre-encoded and pre-allocated names in the compiler.

scalac has this efficient notion of TermNames and TypeNames,
typically pre-encoded and pre-allocated for those recognized
by the compiler, and we were stupidly converting them to
decoded strings all the time for comparison.
Remove redundant case in genExpr().
Remove the 2 last patterns with guards of genExpr().
Merge pull request #655 from sjrd/cleanups

Cleanups