Improves no-shaddowing logic.

To make this work, there are now three symbol tables in a class.
Only the inner object symbol table is accessible directly from
the classNode.  Adding the factory method’s parameters to the
method’s symbol table required a hack.

This commit also removes some shadowing from the compiler itself.
classes that was previously undetected.