Add support for JSX member expressions <React.DOM.div />
Batch subupdates caused by any state update

With this, multiple setState calls triggered by a componentDidUpdate handler (or similar) will be batched together, regardless of if the original setState call was in a batching context.

I also cleaned up some inconsistencies with the order of component updates and callbacks in situations where one component's update directly causes another to update.

Fixes #1147. Helps with #1353 and #1245 as well, though doesn't completely fix them yet.

Test Plan:
grunt test
warn when shouldComponentUpdate() returns undefined
Add hasOwnProperty checks where appropriate

For boolean-like objects, I've added hasOwnProperty checks in addition to the existing truthiness check even though for most of these dicts, we leave out false keys instead of setting them explicitly to false.

In DOMPropertyOperations, we don't need to check hasOwnProperty if the property is in isStandardName because (with the exception of getPossibleStandardName) the dicts on DOMProperty will now be consistently populated with every valid attribute.
Fixed spacing of invalid checksum warning
Update Flux Dispatcher.dispatch and waitFor examples

The previous examples didn't properly work when 1) a Store callback does
waitFor on Stores that haven't been reached yet and 2) a Store callback
waits on another Store that is already waiting.

The updated example uses constructs Promises up front and then
asynchronously resolves them.
Update todomvc dispatcher to match docs, add AppDispatcher test
Add sourceMap option to react-tools transform

Allow tools like grunt-react to include inline source maps in the
generated JavaScript. Browserify can then combine these source maps when
bundling everything together.

Usage:

```
var transform = require('react-tools').transform;
var output = transform(jsxContent, {
  sourceMap: true,
  sourceFilename: 'source.jsx'
});
```

The `output` will have an inline source map comment appended.
Rebased on master
Asynchronously load scripts with JSX transformer.
Merge pull request #1558 from nhunzaker/fix-1530

Fix 1530 - Asynchronously load scripts with JSX transformer
Load scripts in parallel
Allow unmounting title tag

cf. #1376.

This is useful for SVG. Dynamically adding and removing `<title>` elements in SVG still won't work properly because of getMarkupWrap but this at least lets you include it in initial render and then unmount the entire `<svg>` without problems.
Merge pull request #1189 from spicyj/hasown

Add hasOwnProperty checks where appropriate
Use Object.prototype.hasOwnProperty for doc in IE8

Test Plan: Loaded ballmer-peak example in IE8 without errors and interacted with the text field.
Merge pull request #1564 from spicyj/hop-ie8

Use Object.prototype.hasOwnProperty for doc in IE8
Don't fail Travis on sauce failures

Fixes #1496.
Merge pull request #1563 from spicyj/travis-no-sauce

Don't fail Travis on sauce failures
Add componentWillReceiveProps setState test
Switch style test to pass in jsdom

This should be testing approximately the same thing and passes in Jest.

Test Plan: Cherry-pick Jest config from #1528 and verify that running `jest`.