Union type conformance

This has test cases for assignability etc of union type.

I am filing few more pull requests separately for:
ContextualTyping, TypeGuards and TypeInference/overload resolution