Rename method.
Understand and handle modifiers on function declarations and variable statements within blocks.

This ensures reusability for functions/variables that may have been outside a block, but end up
inside one afterwards.  It also ensure the same tree is produced when incremental parsing.

i.e.  if you have:

declare function F() { }

And you add a { above it, then we current have an incremental parsing bug.  Namely we would see
a FunctionDeclaration node and say 'yes, we can reuse that node while parsing the block'.  This
is currently broken because the normal parse would not have normally accepted such a node (because
of the modifiers).

This was an example of contextual parsing of the same kind of node.  Something which we do not
want to do if we want incremental parsing to work properly.
Incremental parser tests should verify the same set of diagnostics are produced.
More incremental parser tests.
Support modifiers on index signatures in an object type.

This makes index signature parsing non-contextual.  This is necessary so that
incremental parsing can reuse index signatures acros classes and object types.
Support modifiers on object literal methods and accessors, and question tokens on object literal methods.

This makes parsing of these constructs the same whether they are in an object literal or a class.

This is important for incrementla parsing for knowing if we can reuse these nodes if we run
into them.
Add additional incremental tests.
Unify accessor declaration parsing.
Remove TryBlock and FinallyBlock.

They break the rule that syntactically identical constructs use the same syntax kind.  This
prevents node reuse in incremental parsing.
Merge branch 'master' into funcDeclsInBlocks
Merge branch 'funcDeclsInBlocks' into sourceFileUpdate

Conflicts:
	src/services/outliningElementsCollector.ts