improvements over BasicTransformer and some other stuff

important parts:

5c897bd : explicit copying operations replaced with `shallowCopy` method call for consistency.
769015b : as mentioned by Michael on the mailing list, added calls to superclass visitors on return values. My intuition was that every visitor method should end with a transform call to it's arguments superclass, except the base class which is `ASTNode`.

Please note that I couldn't run test suite because I still don't have SSH access to test machines.