Collect initializer statements in the pform.
Elaborate implicit initializers

Remaining pform fixup of property initializers, and
elaboration and code generation for implicit constructor.
Handle properties that have arbitrary bit widths.

This fixes the run time handling of arbitrary width
bit vectors as class properties. The vvp code generator
already did the right things.
Add support for logic vector properties in classes.

This is similar to but not the same as bit(bool)
vector properties in classes.
Blend implicit constructor with explicit constructor

Class types that have both implicit construction and
an explicit constructor can blend the implicit and
explicit construction into the "new" function defined
by the user. This doesn't change the behavior any, but
removes a function call and related scope.
Implement the "local" class member protection.

Test during elaboration that the member really is
accessible in the context where the elaboration
happens.
Implement const properties of classes.

This implementation works by detecting assignments
to constant properties in elaboration. Allow initializer
assignments to assign to the constant, error all other
assignments, and otherwise treat the constant like any
other property.
Add support for class static properties.

Static properties are like variables in a named scope.
Detect these variables during elaboration so that the
code generator just sees them as variables.