Implement FIRRTL type alias mechanism for Bundles (#3445)
The new `HasTypeAlias` trait enables the emission of FIRRTL type alias statements representing the structural type of a `Bundle`. This is done by mixing `HasTypeAlias` into a `Bundle`, then overriding `def aliasName` with an invocation of a `BundleAlias(...)` object.
parent
3abdb866