Initial spike of Union class.
Full set of passing specs for Union; needs refactoring and documentation.
Refactored Union and added more methods from Struct.
Documented Union and AbstractUnion.