BrandonWilliamsCS and jamiebuilds Minor correction to TypeScript `setState` type
Instead of allowing a `Partial<State>` to when calling `setState`, allow `Pick<State, K>` instead. Honestly, it looks like someone meant to do this in the first place but missed it, as the `K` generic type was already declared.

This is a legitimate bug. Imagine that state is of type `{ x: number }`, and I try to call `setState({ x: undefined })`.
With `Partial`, that's totally valid, because `Partial` creates a new type with the same keys, but each "optional". Of course, optional allows `undefined`.
`Pick`, on the other hand, maps to a new type that only has a subset of the original keys but maintains the type of the remaining keys. So `{}` would be a valid argument, because it has the empty set of keys, but `{ x: undefined }` is out because `x` still needs to be a number.

This is in line with the React version:
Latest commit b5d12e1 Jul 6, 2018