Simplify composite lifecycle state

We now forbid calling setState or forceUpdate if any component's render function is higher in the stack, not just the component you're trying to update. (We do this already now for React.renderComponent and React.unmountComponentAtNode.)

This also has the advantage that we can now remove CompositeLifeCycle.RECEIVING_STATE, making _compositeLifeCycleState easier to reason about (not to mention that RECEIVING_STATE was a confusing name) and making it possible to remove a try/finally from the render path which might help with perf.
Also list <form> in error message as possible culprit
Fix IE8 potentially throwing during restoreSelection
getModifierState incorrectly exposed as SyntheticMouseEvent.getEventModifierState
Move react-source gem out of project root

Now it requires a build step. At least the confusing lib directory is
gone though.
Merge pull request #1909 from zpao/move-react-source

Move react-source gem out of project root
Merge pull request #1879 from syranide/modistatewrong

getModifierState incorrectly exposed as SyntheticMouseEvent.getEventModifierState
Merge pull request #1774 from syranide/ie8focusthrow

Fix IE8 potentially throwing during restoreSelection
getModifierState should always return a boolean
Merge pull request #1865 from syranide/modistatefalse

getModifierState should always return a boolean
Remove empty TextNode left behind by IE8 setInnerHTML workaround
Merge pull request #1560 from spicyj/simplify-lifecycle

Simplify composite lifecycle state
Merge pull request #1903 from syranide/ie8nmlb

Remove empty TextNode left behind by IE8 setInnerHTML workaround
HAS_SIDE_EFFECTS properties must compare as property type
Use .bind when autobinding

This eliminates all of the `boundMethod` frames from call stacks when debugging and as far as I know should behave the same otherwise.

Test Plan: jest
Merge pull request #1770 from eins78/master

Also list <form> in error message as possible culprit
Merge pull request #1511 from syranide/strsidefx

HAS_SIDE_EFFECTS should compare by type-casting
[docs] increase base font-weight

Closes #1926
Merge pull request #1924 from spicyj/autobind-bind

Use .bind when autobinding
ReactTransitionChildMapping comment typo