Improve error for nested render calls

In the future we could consider wrapping the entire public API (renderComponent, setProps, setState, etc) in this check but this should do for now.

Test Plan: grunt test
Guard top-level methods, not in every render call

Test Plan: grunt test
fix warnings in ReactComponentLifeCycle test

Don't use inputs to avoid warnings in tests
fix warnings in cloneWithProps test

Don't test refs in this case, already testing warning above
Update videos.md
Remove whitespace_transformer package

This was a one-time use thing, let's get rid of it. If we ever need to
push an update, we'll do it from the 0.9-stable branch.
Split DefaultDOMPropertyConfig

This makes it a little easier to add SVG properties. It also makes use of that injection that we claim is easy to use and will likely start playing a bigger part soon.

Closes #1009
Upgrade jstransform to 4.0

Also enables the object-concise-method transform for --harmony

closes #1438
Don't let new keys on `style` from `transferPropsTo` override old ones

Previous behavior: `transferPropsTo(<div style={{color: 'red'}} />)` would get `color` overriden if we transfer in a `style={{color: 'blue'}}`. This is inconsistent with how other props are transfered.

This simply reverses the order of arguments.

closes #1435
Merge pull request #1441 from zpao/update-jstransform

Upgrade jstransform to 4.0
Fix IE11 collapsed ranges in ReactDOMSelection

In IE10/11, it is apparently possible to have a Selection or Range object that has the following properties:

  - `anchorNode` === `focusNode` (Selection) or `startContainer` === `endContainer` (Range)
  - `anchorOffset` === `focusOffset` (Selection) or `startOffset` === `endOffset` (Range)
  - `isCollapsed` === `false` (Selection) or `collapsed` === `false` (Range)

As defined in http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html, this doesn't really make sense. Since the nodes and offsets are the same, the "collapsed" value should be `true`.

Moreover, when calling `selection.toString()` in this case, it appears that the entire text contents of `body` -- including `<script>` tag contents -- are considered within the selection. I thought maybe the selected nodes were missing from the DOM or something, but no, they're there.

Sidestep all of this in `ReactDOMSelection` by calculating the `collapsed` property manually and setting the selection length directly to zero if it is actually collapsed.

Side note: I think that for selection restoration on contenteditables, we shouldn't try to do this offset calculation. We should just use the structure provided natively (nodes and offsets) since we can restore using that structure as well.
Remove unnecessary tests from insertChildAt and inline it instead
Test innerText/textContent on document.documentElement instead
Merge pull request #879 from syranide/inlinechild

Remove unnecessary tests from insertChildAt and inline it instead
Update build status svg badge
Merge pull request #1450 from sahat/patch-1

Update build status svg badge
Merge pull request #887 from syranide/textdocument

Test innerText/textContent on document.documentElement instead
Fix perf suite broken by descriptor change
Merge pull request #1452 from chenglou/perf-fix

Fix perf suite broken by descriptor change
Bump jstransform dependency to point at 4.0.1 or higher