Fix the assignability rule in case of rest parameters:

From section 3.8.4
o	M is a non-specialized call or construct signature and S’ contains a call or construct signature N where,
   	the number of non-optional parameters in N is less than or equal to that of M,

When comparing call or construct signatures, parameter names are ignored and
rest parameters correspond to an unbounded expansion of optional parameters of the rest parameter element type.
fix NRE case for empty modules and find references
Remove version check when getting completion entry details
Some bug fixes regarding generic instantiation
Merge and add tests
Fix two FourSlash test failures
Update FourSlash tests
Rebaseline tests
Update typechecking of 'in' expressions to match the current spec.
Update type checking of conditional expressions to match the latest specification.
Rename parameter.
Update typechecking of || expressions to match the latest spec.
Implement latest spec langauge for assertion expressions.
Use appropriate error message.
Code review feedback.
Update this/super typechecking to match the spec.
Fix comment placement on class accessors.
Update LKG.
Get perf harness up and running again.
Only consider the elements of an array literal to be contextually typed if we have an actual contextual type for them.