added fullTypeCheckFlag to TypeChecker

LS now uses 2 instances of typechecker:
-  `typeInfoResolver` - created via `getTypeChecker(/*fullTypeCheck*/ false)` - used by quickinfo\dot completion etc..

- `fullTypeCheckChecker` - created via `getTypeChecker(/*fullTypeCheck*/ true)` - used to get semantic diagnostics.

`fullTypeCheck` parameter in the `getTypeChecker` controls if typechecker can shortcut and answer more quickly (producing less error messages but they are still ignored when `fullTypeCheck === true`)
should we instead just augment checkTypeAssignableTo to check the fullTypeCheck flag?