Deferred resolution of object literal members to support recursive types.
Addressing CR feedback.
Merge branch 'master' into deferredTypeLiterals
Merge branch 'master' into deferredTypeLiterals
Merge pull request #550 from Microsoft/deferredTypeLiterals

Deferred resolution of object literal members to support recursive types.
Language Specification updated to version 1.1
Merge pull request #589 from Microsoft/updateLanguageSpec

Language Specification updated to version 1.1
Added JSX types.
Added basic JSX tag+attributes parsing.

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
Removed redundant JSX types for identifiers, string literals and properties.

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
JSX syntax scanner&parser improvements.

* `XJSElement` became descendant of `Expression`.
* Scanner has "inJSXContents" and "inJSXTag" states for:
  * reading dashes (`-`) in JSX tag and attribute names;
  * reading contents of JSX tags as expression containers, nested elements or text if doesn't match any of previous two;
  * reading JSX attribute value strings as-is (no special meaning for escaped characters).
* Creating "missing nodes" as attribute values.
JSX error recovery improvements.

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
One more fix for JSX attributes.
Closing tag check.

Conflicts:
	src/compiler/diagnosticMessages.json

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
Improved rules for distinguishing JSX element from type cast.

Conflicts:
	src/compiler/scanner.ts
More edge cases covered.
Improvements for looking for closing tag.
Small fixes for language services.

* `checker` object is used by `createIntrinsicType`, so it needs to be created earlier.
* `acquireDocument` should create file bound to it's snapshot.

Conflicts:
	src/services/services.ts
Making less assumptions for error recovery in JSX elements.

Faster JSX vs type cast distinguishing algorithm.
Fix for parsing closing element.