adding UnionTypeDefinition and CreateUnionTypeDefinition() in advance of some related refactoring
reworking ConstructorDefinition in favor of a bare UnionTypeDefinition
making call sig throws a union type def