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`?

ReactElement.isValidElement(inst) &&
              !!inst.tagName);
  },
  isCompositeComponent: function(inst) {
    if (ReactTestUtils.isDOMComponent(inst)) {
      
      
      return false;
    }
    return inst != null &&
           typeof inst.render === 'function' &&
           typeof inst.setState === 'function';
  },
  isCompositeComponentWithType: function(inst, type) {
    if (!ReactTestUtils.isCompositeComponent(inst)) {
      return false;
    }
    var internalInstance = ReactInstanceMap.get(inst);
    var constructor = internalInstance
      ._currentElement
      .type;
    return (constructor === type);
  },
  isCompositeComponentElement: function(inst) {
    if (!ReactElement.isValidElement(inst)) {
      return false;
    }
    
    
    var prototype = inst.type.prototype;