I recently ran into this error after updating to 0.14.0-beta3 from alpha3.

```
Uncaught Error: Invariant Violation: findComponentRoot(..., .j0tmgd5jpc.2.$main.0.0.1): Unable to find element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID ``.
```

After a pile of hunting, thinking it might be related to some other changes I made (I didn't test this component right after the update and made some other major changes), and even discarding a `ReusableBlockMixin` experiment I thought was at fault. I finally realized that this error was called from a `ReactDOM.findDOMNode` call which was made inside `componentWillMount`.

This was valid in 0.13 and the alphas of 0.14 and the change wasn't documented.

Some more context to this error message would be appreciated. The current wording can mislead developers into looking for bugs into all the wrong places. Since calling `findDOMNode` has nothing do do with mutating of the dom. It's because of changes to when the DOM is setup.

/**
 * Copyright 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @emails react-core
 */
'use strict';
var React = require('React');
var ReactDOM = require('ReactDOM');
var ReactTestUtils = require('ReactTestUtils');
describe('findDOMNode', function() {
  it('findDOMNode should return null if passed null', function() {
    expect(ReactDOM.findDOMNode(null)).toBe(null);
  });
  it('findDOMNode should find dom element', function() {
    var MyNode = React.createClass({
      render: function() {
        return <div><span>Noise</span></div>;