Upgrade to React 0.12.0

In this PR:

- Upgrading to react v0.12.0.
- Adding the ability to lookup rendered components by tag (not DOM or text components)
- Adding ability to check if component is a valid react class
- Adding ability to check if element is a valid react element
Hmm. I don't think we should ever return composite components for a method named `componentsWithTag`. If you want a composite component, you should use `componentsOfType`. Otherwise we're adding confusion/indirection between what the underlying React `TestUtils` does. As a user of `chai-react`, I would expect `componentsWithTag` to use `scryRenderedDOMComponentsWithTag`, and I would expect `componentsOfType` to use `scryRenderedComponentsWithType`.