Expose the rendered children before they're actually mounted

Exposing the _renderedChildren property before all the children are fully
mounted. This allows us to debug a partially mounted tree when the debugger
has a breakpoint in the one of the mounting children.

This only has a functional difference in the case where mounting throws. This
will end up not mounting the component anyway. Any remounting shouldn't be
affected by this change.
Expose bound function, context and arguments

Exposes the bound context, original method and bound arguments for any
auto-bound methods, for debugging purposes.
Add select event plugin

Polyfill 'onSelect' behavior for React.

Use non-standard 'selectionchange' event rather than 'select' event.
This allows us to fire the event when user moves the cursor via arrow
keys, and not just when they select multiple chars.

Add methods to ReactDOMSelection to make getting current selection
easier, so we can do a fast check for change without having to
calculate char offsets for selection start and end.
Add warning when using componentShouldUpdate
Speed Key Validation (by over 9000)

Use a valid identifier (and non-string) to reduce chance of de-optimizing in V8 and Nitro.
Move flattenChildren into MultiChild
Throw when calling transferPropsTo() on a component you don't own

This is dangerous because it means that data is flowing into the component from two components, only one of which is the actual "owner". While we may be able to figure out how to
support this someday, let's be strict and prevent it for now.
React.__internals

We need access to internal modules in order to provide a single way for some
projects to work internally with @providesModule and externally.