Fixing Bug in JSX transformer

The bug fixed by this commit prevented the correct parsing of
`var` statements with multiple variables being declared. Instead
of trying to parse a whole 'variable declarations' (a `var`
statement with all its declarations), this visitor now only
parses single 'variable declarators'.
Update stale event docs in tutorial

The example uses onSubmit but the docs were still referring to onKeyUp.
Change TodoMVC to not modify state in place

Instead, use .concat and make a new todos array.

Test Plan:
Added todo items successfully.
Wording tweaks
Removed duplicate object type check
Merge pull request #31 from spicyj/immutable-state

Change TodoMVC to not modify state in place
Merge pull request #27 from seiffert/master

JSX Transformer / DisplayName Visitor: Multiple declarations with one `var` statement
Add `return false;` to onSubmit handlers
Provide `grunt npm:test` for verifying NPM package functionality.

This basically calls `npm pack`, installs the resulting package in a temporary directory, then requires it and attempts to use the .transform method.

Closes #12.
Merge pull request #20 from benjamn/issue-12-test-install-package

Provide `grunt npm:test` for verifying NPM package functionality
Merge pull request #33 from spicyj/docs-fix

Update stale event docs in tutorial
Ship CJS modules instead of browserified build

It turns out that if you try to browserify a file requiring react-tools,
it doesn't work. This is because browserify just visits the require
statements in the file and looks for files in that path.
./ReactCompositeComponent doesn't exist and that's the point that fails.
So the fix is to actually ship each of our CJS modules as individual
files like browserify expects. This should have no negative side effects
- we still only export React (though the rest of our modules are now
actually accessible, which might make it easier to do more with the
module).

The other change here is to move source-map to dependencies since it's
required in the transform code.

Test Plan:

```
$ npm pack .
$ cd /tmp
$ npm install path/to/react-tools-0.3.1.tgz
$ echo "require('react-tools')" > test.js
$ browserify test.js
```
Merge pull request #34 from zpao/npm-ship-modules

Ship CJS modules instead of browserified build
v0.3.2

Also some tweaks to package.json details.
Fix live_editor.js usage of class=
Merge pull request #36 from jeffreylin/master

Fix live_editor.js usage of class=
ReactDOM->React.DOM
JSFiddle integration

This is a small snippet that exploits the fact that we can run custom script on jsfiddle before the Javascript1.7 transpiler is executed. We change the script type to text/jsx to run our transpiler pipeline instead.
http://facebook.github.io/react/js/JSFiddleIntegration.js
Alert if the default JSFiddle configuration is used
Now using .replace instead of hardcoded numbers for readability

I had a version without document.querySelector but JSFiddle doesn't work for IE7 and IE8 :x
Merge branch 'master' of github.com:vjeux/react