* Change the default type parameter constraint and default to unknown from {}
* Relax unknown checking outside of strictNullChecks a bit
* Increase strictness on index signatures with type `unknown` so inference doesnt change surprisingly
* Remove redundant switch
i.e. use "var v: string" instead of "(var) v: string".
The parens case should only be used when we're using an english description instead of
an actual language construct.