Added Merge and AddRange to discriminated uinion list
made fields in DiscriminatedUnion protected to allow inherritance
Added a type to allow for discriminated unions with a base type
added basic unit tests