Allow `false` as an acceptable renderable type value

`false` is renderable.
Make custom PropTypes return error rather than whatever

The new rule for PropTypes is that it should return an error object if validation fails, not throw, not warn.
Add typed ReactLink to ReactProps

Adds a PropType that checks for proper use of the ReactLink API and optionally validates the type of value passed in via the link. Basically, it's a wrapper around PropTypes.shape that hides the implementation of ReactLink.
Remove function wrappers in DOMSelection

There is no point in doing the feature detection on every call, unless there is an IE bug where it is not sure about which support for selection it has (totally plausible).
Fixed a bug in expectRenderedChildAt

React components have _mountIndex, that looks like it is their order in DOM.
If you swap 2 elements in DOM, their order in children array isn't changed, but their _mountIndex is