Parse/elaborate class derivation

This gets us down to working classes, but does not yet implement
calls to the parent constructor, implicitly or explicitly.
Elaborate implicit chaining of constructors in class new.
Chain class instance constructors with arguments.
Blend initializer statements into any explicit constructor.

If there is an explicit constructor, then blend all the statements
of the implicit constructor into it so that there is only one
constructor function.
Elaborate PChainConstructor calls.

It is better to leave the handling of PChainConstructor calls to
the elaboration, instead of stripping them out early. This allows
for handling the arguments of the chain constructor in the correct
scope.
Implement class extends arguments.

This implements constructor arguments right after the base class
name in the class extends syntax.
Elaborate nested l-values.

This gets nested l-values to (but just short of) the ivl_target API.
Now the elaborator can process nested l-values, but I haven't figured
out how to present that at the ivl_target.h API.
Support some simple class initialization assignments.
Merge branch 'master' of git://github.com/steveicarus/iverilog