Include memory usage in -diagnostics report
Making sys.getMemoryUsage optional.
Merge pull request #453 from Microsoft/reportMemoryUsage

Include memory usage in -diagnostics report
Added JSX types.
Added basic JSX tag+attributes parsing.
Removed redundant JSX types for identifiers, string literals and properties.
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.
One more fix for JSX attributes.
Closing tag check.

Conflicts:
	src/compiler/diagnosticMessages.json
Improved rules for distinguishing JSX element from type cast.
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.
Temporary compiler reconfiguration for testing purposes.