Fix possible name collision in classes on Python 3.3.
Move `opcode` into `Generator`; fix a bug with freevars.
Merge some more changes from no-varnames.