Don't allow 'void' as the left side of a dotted name.
Fixed case where function expressions in static declarations picked up type arguments.

Previously, the following would compile with no errors:

	class Foo<T> {
		// Should be error to use 'T' here
		static x = (n: T) => {};
		static y = function (m: T) { };
	}
Make the scanner faster.

Move lots of cases that are almost never hit to a helper method.  Don't depend on NaNs to know
when we're at the end of an array.  It causes V8 to unoptimize our functions.
Change the syntax model so that getters and setters have call signatures.

This allows us to operate more uniformly on these nodes with other signature-like constructs.
Merged typescript/develop fixed conflict
Regenerate syntaxNodes