Rather minor issue, but the fix should be simple enough so I thought that I'd file this anyway:

When using `react-addons-testutils`, sometimes I write simple errors such as 

```
TestUtils.scryRenderedDOMComponentsWithClass("foo")

// expected:
TestUtils.scryRenderedDOMComponentsWithClass(reactComponentInstance, "foo")

```

This throws a stack trace of ~80 lines with a type error of `TypeError: Cannot read property 'split' of undefined`. Fixing this is trivial (and the first line of the stack trace points to the offending line as expected), but the error itself isn't really obvious. 

Some others such as `scryRenderedDOMComponentsWithTag` don't throw until `findAllInRenderedTree` is reached, which throws a bit more helpful error of `Error: findAllInRenderedTree(...): instance must be a composite component(…)`. 

Would it make sense to check that the arguments passed are valid and throw immediately if they aren't, so the user would end up with errors along the lines of `scryRenderedDOMComponentsWithClass: first argument must be an instance of ReactComponent`?

NoopInternalComponent.prototype = {
  mountComponent: function() {
  },
  receiveComponent: function(element) {
    this._renderedOutput = element;
    this._currentElement = element;
  },
  getNativeNode: function() {
    return undefined;
  },
  unmountComponent: function() {
  },
  getPublicInstance: function() {
    return null;
  },
};
var ShallowComponentWrapper = function(element) {
  this.construct(element);
};
Object.assign(
  ShallowComponentWrapper.prototype,
  ReactCompositeComponent.Mixin, {
    _constructComponent:
      ReactCompositeComponent.Mixin._constructComponentWithoutOwner,
    _instantiateReactComponent: function(element) {
      return new NoopInternalComponent(element);
    },
    _replaceNodeWithMarkup: function() {},
    _renderValidatedComponent:
      ReactCompositeComponent.Mixin