Add React.version

getConfig needs to be a function because grunt.config.data.pkg.version isn't available at the time that grunt/config/jsx/jsx.js is required.

Test Plan:
grunt build, grunt lint, grunt test all work. After building, both react.js and react.min.js contain the version number.
Fix radio input test in Chrome

It seems like the `form="pluto"` was throwing it off and making the input live outside the form it should have been contained in, causing it to uncheck A. I added it intending to test the form attribute but ended up not needing it so removing it should be fine. (The tests were passing in phantomjs since it doesn't support the `form` attribute and simply ignored it.)

Test Plan:
grunt test; grunt test --debug
Merge pull request #205 from spicyj/version

Add React.version
Fix ReactRenderDocument tests

I am unsure how this was ever supposed to work, as testDocument is guaranteed to be undefined at that point since beforeEach doesn't run synchronously. (I don't think there's any way to have beforeEach halt the tests.)
Fix full-page rendering

Closes #337.

Test Plan:
Opened react-page sample without any JS errors. Also ran grunt test after cherry-picking this changeset on top of #338.
Hard code version instead of doing constant replacement

This isn't really ideal, but it makes it so that people managing to
build with @providesModule still get a consistent experience (since this
is what gets packed client-side with react-page-middleware anyway).
Merge pull request #332 from spicyj/radio-test

Fix radio input test in Chrome
Delete version.js

This file is an artifact of a build process long abandoned.
Use a regular expression to parse out React.version.

This fixes a silent failure of the test suite that appears to be due to
the call require('./build/modules/React').
Merge pull request #344 from benjamn/fix-silent-test-failure-due-to-requiring-React

Use a regular expression to parse out React.version
Merge pull request #339 from spicyj/doc-rendering

Fix full-page rendering
Merge pull request #338 from spicyj/fullpage-tests

Fix ReactRenderDocument tests
Update wording
Ensure selection range exists

The selection object doesn't always have ranges. In Chrome the
selection is not updated before 'focus' event handlers are fired. See
http://jsfiddle.net/t4DYA/ for example.

The selection will have rangeCount of 0 and calling getRangeAt(0) will
throw error "Uncaught IndexSizeError: Index or size was negative, or greater
than the allowed value."
Fix lint errors in tests
Stop ReactInputSelection breaking in IE8

In the IE code path the method assumed that the input.value property
was non-null. A quick fix is to use either value or innerText; which means
the same code can be shared for textarea and contentEditable components.

The code is slightly buggy because the range.parentElement() !== input check
will fail for contentEditable components when the focus within a deep DOM tree.