Handle abbreviated union types for code generation

Fixes #701 
Should use `UnionCase` active patterns. `TypeWithDefinition` active patterns should be used to ensure safe access to `TypeDefinition` https://github.com/fsprojects/VisualFSharpPowerTools/blob/master/src/FSharpVSPowerTools.Core/TypedAstUtils.fs#L90-L92.