Fix: Always return boolean from isNullComponentID
There's no isComponentOfType() anymore
Merge pull request #2498 from ikr/patch-1

There's no isComponentOfType() anymore
Adding "appear" phase to ReactTransitionGroup and ReactCSSTransitionGroup.

"appear" differs from "enter" in that all children of a transition group at mount time will "appear" but will not "enter". All children later added to an existing transition group will "enter" but not "appear".

This extra transition phase allows for animation-on-mount effects.

A mirroring "appear" prop has been added to ReactCSSTransitionGroup, however for reverse-compatibility (and because "appear" is less common) it defaults to false.

Thanks to @afa for his work investigating the possible ways to implement this.
Update ref-09-glossary.md
Merge pull request #2512 from leebyron/transition-appear

Adding "appear" phase to ReactTransitionGroup and ReactCSSTransitionGroup
Merge pull request #2514 from jvalente/patch-1

Update ref-09-glossary.md
Warn when casing CSS vendor prefixes incorrectly

Fixes #2487.

Test Plan: jest
Stop treating key={null} as an unspecified key

This reverts commit dd92786fb038c4eb7c6545928646ec8aa9ecfa36, which was intended to be temporary for the 0.12 release.

Fixes #2394.
Merge pull request #2385 from shripadk/bool-fix

Fix: Always return boolean from isNullComponentID
Make ReactTextComponent properly injectable

ReactTextComponent's implementation is DOM-specific; instead of flattenChildren creating the ReactTextComponent instances, ReactNativeComponent now takes care of having ReactTextComponent injected and creating the component instance. I also renamed ReactTextComponent to ReactDOMTextComponent and moved it to browser/ui/ where it belongs. ReactDOMTextComponent no longer inherits directly from ReactComponent and instead implements construct and {mount,receive,unmount}Component directly.

This diff removes `ReactTestUtils.isTextComponent` which should have previously never returned true when using public APIs.

Test Plan: jest, use ballmer-peak example.
Fix problems with empty component ID registration

Fixes #2493, also closes #2353 as it incorporates a variant of that fix.

- Instead of having getEmptyComponent return `<noscript />` directly, wrap it in a class that we can easily identify later as being an empty component
- Cache the empty component element instead of recreating one each time
- Avoid touching the nullComponentIdsRegistry dictionary at all when not dealing with empty components
- Move empty-component tests to a separate file

Test Plan: jest