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).
Fix lint warning about mismatched file & module name

@providesModule should match the file name. In this case we'll be consistent and suffix mixins with Mixin.
Remove reactKeys

It wasn't being used and it wasn't conforming to the @providesModule === file name rule.
Fix most lint warnings/errors
Fix package.json's reference to vendor/constants.js
Merge pull request #107 from remixz/package-json-fix

Fix package.json's reference to vendor/constants.js
Ignore .module-cache directories
Don't transfer `children` in `transferPropsTo`

06cff60bc1eec13ff804af9f74b3b2b37b5490b3 made it so that `this.props.children` was no longer set when
none were provided.

  var x = <div />;

This caused an issue if the code was relying on the following not
transferring children.

  return this.transferPropsTo(<div />);
  // this now transfer children
Better warnings for missing keys on arrays

We have less dynamic arrays in the code base now so let's start warning for all
the cases where we pass dynamic arrays without keys.

I use the displayName to point out which component's render method was
responsible. I only warn once per component. If the child was created in a
different component (and passed as a property) I also show the owner of the
child. Maybe it should've attached the key at a higher level.

This does give false positives for arrays that are truly static. Those should
probably be refactored to use the XML syntax if possible.
Use absolute URLs for FB comments box
Use github tarball link for esprima dependency

It turns out that (at least for local development) npm has a long
standing bug where it doesn't recognize changing dependencies stored as
git urls (see https://github.com/isaacs/npm/issues/1727). Luckily npm
understand tarballs and GitHub provides tarballs for every commit, so
the workaround is easy, though unfortunate.
Fix dangerouslySetInnerHTML
Merge pull request #110 from vjeux/patch-1

Fix dangerouslySetInnerHTML
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.
Cleanup lint warnings
Community Roundup #2
Merge pull request #113 from vjeux/community_2

Community Roundup #2