Initial implementation of Union Types
Narrowing of variable types using typeof/instanceof type guards
Support symbol kind for union properties
add test for quick info
Add support for union properties in goto def
Addressing CR feedback
Accepting new baselines

The new baselines all look correct to me, but obviously a number of the
tests need to be updated to reflect union types and the new behavior of
best common type. This commit does not cover that.
Improved type argument inference with union types
Merge branch 'master' into unionTypes
Accepting new baselines after merge with master

The tuple type tests from master need to be updated to reflect the new
best common type behavior from union types. This commit simply accepts
the baselines as they are.
Support find all refs on union properties
Use getRootSymbols for all union property needs
Merge branch 'unionTypes' into unionTypesLS

Conflicts:
	src/compiler/checker.ts
	src/services/services.ts
Fix contextually typed object literal proeprties that are not properties of the union type but are properties on of one of its constituant types
respond to code review remarks
Test updates from union changes
Fixing merge conflicts
ensure unionProperty symbols have declarations set at creation time
Less aggressive subtype reduction in union types
Merge branch 'unionTypes' of https://github.com/Microsoft/TypeScript into unionTypes