535: Not all legs derived from abstract base type

Modeling change recommendation: Derive all leg/stream types from an abstract leg type to allow referencing, etc. This is already done except for some equity types, where there was a conflict on the attribute name.