Codegen/1

Two things going on; sorry.

1) Putting codegens' code units into a ._code dict.  QCML#printsource() now runs through the dict and prints all code units.  There's also Codegen._codekeyorder if you want things printed in a particular order by default.

2) Cleaned up some of the operators for AbstractDim