Introduce 'statics' for class specification

This moves the static properties off of the root object and into
a 'statics' property. Then they are made available on the constructor so
they can be used directly and in mixins.
Remove deprecated React.unmountAndReleaseReactRootNode
Remove deprecation warning for React statics
Separate replaceState invariant violations

It'd be nice if we knew which error we were hitting when this invariant hit.
[ReactTransitionGroup] Add onTransitionEnter and onTransitionLeave

It is valuable to know when the number of children in a TransitionGroup is going
to increase or decrease, since we might want to apply extra animations.
For instance, when used with overflow:auto, we might want to apply different css
based on it overflowing or not - to do this we need to calculate this after new
nodes has entered and after nodes has been removed.
Remove support for putting mixins, propTypes, etc. in 'statics'

This leaves statics as a way to define static methods and properties
that will be accessible on the return value of `React.createClass`
without changing the current spec.