Fix class parameter scoping exposed in inheritance

Previously, constructor parameters were bound as though they were
methods on the objects constructed by the class, which caused problems
when the class was inherited from but the methods weren't there.
Reject parameters shadowed by inherited methods

Minigrace will now report a syntax error when a class parameter has the
same name as a method inherited from the superclass, requiring it to be
renamed.