Do not reset the type of an already typed symbol whilst checking for recursive references
- Cache symbol information for exported module members
- The 'void' operator expression should resolve to 'undefined' rather than 'void'
Rebaseline tests
Do not ignore function parameters when testing declaration groups for type equivalence
Remove instance type coercion code from object creation expression resolution
Fix test
Update test
Add tests
Goto-def on an object creation expression should take you to the constructor, not the class.
Report error when a user tries to use an Octal literal in ES5 mode.

According to the ES5 specification:
"B.1 Additional Syntax #
Past editions of ECMAScript have included additional syntax and semantics for specifying octal literals and octal escape sequences. These have been removed from this edition of ECMAScript."

These continue to parse properly in ES3 mode.
Regression tests
Don't short-circuit signature parameter comparisons if both parameter lists are entirely composed of optional parameters
Fix crash on recursive use of property accessors
Add test for property accessor return type agreement
More fixes to recursive property accessor usage and type parameter binding
During generic specialization, only substitute post-specialized type arguments for existing ones of they are not otherwise identical.

(This prevents another case of spiraling recursion where a type being specialized contains a field typed to a recursive reference to itself, with
a generic type literal as the type argument.)
Harness/fourslash resolution updates and API cleanup
Fix .d.ts tests to check the generated .d.ts for errors
Fix last checkin
Fix test flag and add regression tests