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.