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

if (!inst || !inst.getPublicInstance) {
    return [];
  }
  var publicInst = inst.getPublicInstance();
  var ret = test(publicInst) ? [publicInst] : [];
  var currentElement = inst._currentElement;
  if (ReactTestUtils.isDOMComponent(publicInst)) {
    var renderedChildren = inst._renderedChildren;
    var key;
    for (key in renderedChildren) {
      if (!renderedChildren.hasOwnProperty(key)) {
        continue;
      }
      ret = ret.concat(
        findAllInRenderedTreeInternal(
          renderedChildren[key],
          test
        )
      );
    }
  } else if (
    ReactElement.isValidElement(currentElement) &&
    typeof currentElement.type === 'function'
  ) {
    ret = ret.concat(
      findAllInRenderedTreeInternal(inst._renderedComponent, test)
    );
  }
  return ret;