Throw a caught error in the default warning module

This throws an error that is immediately caught. This allows you to use the
debugger's "break on caught exception" feature to break on warnings.

This should help with tracking down these warnings using the stack.

However, it could also add more noise to other debugging pattern.
Temporarily fix EmptyComponents

This a workaround for the problem described in #2770. It should be
temporary because this is really just working around the real problem.
Merge pull request #2771 from zpao/temp-fix-empty-component

Temporarily fix EmptyComponents
Fixup jsdoc for findDOMNode
Merge pull request #2772 from zpao/fixjsdoc

Fixup jsdoc for findDOMNode
Update ref-01-top-level-api.md

React isn't framework, it's library for UI!?
Merge pull request #2773 from vanesyan/patch-1

Update ref-01-top-level-api.md
Merge pull request #2769 from sebmarkbage/breakonwarning

Throw a caught error in the default warning module
Fix typo in warning message for invalid reused markup
Merge pull request #2768 from sebmarkbage/duplicatetests

Removed some duplicate tests
Merge pull request #2783 from dylanharrington/master

Fix typo in warning for invalid reused markup
Add late class validation warnings for statics

ES6 classes won't have an early validation step. Therefore I added some
extra validation later on in the process. These would've normally have
been caught by createClass in classic React.
Merge pull request #2767 from sebmarkbage/moderntypevalidation

Add late class validation warnings for statics
Draft classes