Move ReactClass, ReactElement and ReactPropTypes into "traditional"

This moves ReactClass, ReactElement and ReactPropTypes into a legacy folder
but since it's not quite legacy yet, I call it "classic".

These are "classic" because they are decoupled and can be replaced by
ES6 classes, JSX and Flow respectively.

This also extracts unit tests from ReactCompositeComponent, which was
terribly overloaded, into the new corresponding test suites.

There is one weird case for ReactContextValidator. This actually happens in
core, and technically belongs to ReactCompositeComponent. I'm not sure
we will be able to statically validate contexts so this might be a case
for dynamic checks even in the future. Leaving the unit tests in classic
until we can figure out what to do with them.
Merge pull request #2700 from sebmarkbage/classic

Move ReactClass, ReactElement and ReactPropTypes into "classic"
Update 02-displaying-data.md

Typo fix
Enable strip-types transform for internal code

Flow is coming so we need to be ready.
Merge pull request #2705 from Swader/patch-1

Update 02-displaying-data.md
Merge pull request #2708 from zpao/strip-types

Enable strip-types transform for internal code
Add toBeTextComponentWithValue to reactComponentExpect

This was previously possible by looking at renderedChildren and props
but this feels better.
Remove deprecated methods since 0.12 shipped
Merge pull request #2655 from zpao/rm-deprecated

Remove deprecated methods since 0.12 shipped
Merge pull request #2647 from zpao/text-component-expect

Add toBeTextComponentWithValue to reactComponentExpect
Fix lint
Merge pull request #2710 from zpao/lint-fix-again

Fix lint
Delete extraneous period
Merge pull request #2716 from RichardLitt/patch-2

Delete extraneous period
Adds a dependsOn type checker

The dependsOn type checker takes a name or an array of names of other
props that the current prop expects to be present, as well as an
optional type checker for the current prop. This allows property
declarations along the lines of:

{ propTypes: { one: React.PropTypes.dependsOn('two',
React.PropTypes.string), two: React.PropTypes.string } }

where the presence of "one" is only validated if "two" is present.