Don't return the last falsy element in forEachChild.
Don't return the last falsy value when forEach'ing over an array.
"let" should only be considered a keyword in strict mode, or when it starts an actual construct
Handles #1301
Merge pull request #1374 from Microsoft/let

"let" should only be considered a keyword in strict mode, or when it starts an actual construct
Merge pull request #1372 from Microsoft/forEach

ForEach cleanup
Use callbacks for speculative parsing.
Merge pull request #1378 from Microsoft/useCallbacksForSpeculativeParsing

Use callbacks for speculative parsing.
Move syntax cursor into its own file.
Simplify parser API.
Rename _skippedTokens to skippedTokens.
Merge pull request #1383 from Microsoft/fidelity1

Bits of Fidelity cleanup.
Merge remote-tracking branch 'ts_official/master'

Conflicts:
	src/services/syntax/SyntaxGenerator.js.map
	src/services/syntax/incrementalParser.ts
	src/services/syntax/parser.ts
	src/services/syntax/scanner.ts
	src/services/syntax/syntaxNodes.concrete.generated.ts