Set textarea value when changing content

At http://jsfiddle.net/spicyj/W4QLq/, typing into the textbox would cause
clicking the button to do nothing; now it should work.
Don't set value if it'll be a noop
Don't let textarea value change via textContent

Turns out my tests before weren't particularly useful because
receiveProps doesn't end up running componentDidUpdate since the
transaction never finishes. Now they use replaceProps instead (and I
verified that commenting out the "rootNode.value = ..." line makes the
tests fail, which wasn't true before).
Merge remote-tracking branch 'origin/master' into textarea-update-value
Don't update value or textContent unnecessarily

_updateDOMChildren was already updating textContent so we don't need to
do it in _updateDOMProperties. Additionally, don't update .value if
it'll be a noop because it has side-effects (like moving the cursor) in
some browsers (like IE 9).

Refactor tests to be a bit more robust and a bit cleaner too.
Remove textContent tests; they break in phantomjs
Recommend Node v0.10.0 due to https://github.com/isaacs/npm/issues/2907
Merge pull request #132 from petehunt/engines

Recommend Node v0.10.0 due to https://github.com/isaacs/npm/issues/2907
Community Roundup #3
Merge pull request #126 from vjeux/community_3

Community Roundup #3
Add @jsx common parser issues in the docs

Update getting-started.md
Bump version to 0.4.0a

This should have happened a while ago, but better late than never.
Fix `findComponentRoot` w/ Unidentified Nodes

The current `ReactInstanceHandles` has a bug where `findComponentRoot` barfs if it comes across a node that was not identified by React (via `ReactID`). This fixes that.

This was always a bug, but it became more apparent once we switched to `data-reactid` because arbitrary `document.createElement`'d nodes are much more likely to have an `id` than they are to have a `data-reactid`.
Merge pull request #123 from vjeux/patch-2

Add @jsx common parser issues in the docs
Add link roundup
Merge pull request #135 from vjeux/bugbuster

Add link roundup
Remove content property

Fixes #119.
Add support for empty XJS expressions
Fix Composition Level of Components w/o Owners

This fixes a bug with components constructed with no owners, for example:

  // Both the <div> and <span> have no owners.
  React.renderComponent(<div><span /></div>, node);

They should have a composition level of 1 and their keys should be prefixed with 0 to indicate they were created without owners. However, they currently incorrectly get a composition level of 0 (which means that //their// children will have keys prefixed with 0, which is wrong).
Throw on Missing Elements

This changes React to throw when `ReactID.getNode()` fails to find a node. This method is used by two call sites:

 - Implements `ReactComponent#getDOMNode`. This method already throws if a component is not mounted, and //all mounted components should be able to find their rendered root nodes//.
 - Used by `ReactDOMIDOperations`. These call sites aleady assume that `getNode` returns a non-null. Currently, if the node is not found, this is the site that fatals (and the stack trace is much harder to debug).

The error message should make it //a lot// easier to debug unexpected DOM trees. In particular, this will help track down all the places where the browser inserts `<tbody>` unexpectedly.