Use Object.assign in merge/mergeInto

Relax the argument type checks. Currently we throw for non-objects and terminals
but Object.assign does a coercion to Object instead. It also allows merging
Arrays as if they are objects.

This also relaxes the check for dependents such as ImmutableObject. This sucks
but it will allow us to use a fast code path to native Object.assign.

We always have the option of adding warnings to Object.assign or static type
checks.

I'm keeping the null check. Object.assign throws for null checks.

We'll also start returning the result of coercions just like Object.assign.
Don't call window.getSelection when it isn't defined.

Sadly, jsdom does not support `window.getSelection` yet, but
`ExecutionEnvironment.canUseDOM` is `true` in a jsdom environment.
Fix ReactTestUtils.mockComponent so that mockTagName is not ignored.

The `mockTagName` parameter was always optional, and so probably was not
used very often. If you tried to use it, it would be shadowed by the
`var mockTagName` declaration in the `render` method, so only
`module.mockTagName` or `"div"` were ever possible values.
When proxying statics functions, copy properties

Port of 076047012adf8de9328e582eac35412e6bb808b2 which went in
externally before ReactLegacyDescriptor happened, so it needed to be
ported.
Deprecate transferPropsTo
Move defaultProps resolution to the descriptor factory

Moves the defaultProps resolution to the descriptor factory.
Note how to access Perf in docs
Reword sentence in reconciliation docs
Fix small issue in ReactContext comment

Noticed this the other day and meant to fix it.
Remove _addPromise from Dispatcher code example 

`_addPromise` is not used in the provided Dispatcher example, nor does it exist in Dispatcher.js found here: https://github.com/facebook/react/blob/master/examples/todomvc-flux/js/dispatcher/Dispatcher.js
[Docs] Add recent addons to addons.html; tweak wording

Add PureRenderMixin and Perf to this page. Also, I think it's better if the link titles reflect the name used by these addons.
Merge pull request #1893 from chenglou/docs-bar

[Docs] Add recent addons to addons.html; tweak wording
Merge pull request #1882 from glenjamin/patch-1

Note how to access Perf in docs
Merge pull request #1891 from robarnold/patch-1

Fix small issue in ReactContext comment
Merge pull request #1892 from thauburger/patch-1

Remove _addPromise from Dispatcher code example
Include Object.assign polyfill

This isn't a good final solution but it makes React actually usable on
its own.

This also makes tests runnable, though only via jest
(./node_modules/.bin/jest)
Simpler way to prevent flushing updates on server

Test Plan: Only failing tests in jest are immutable tests that were already failing.
Merge pull request #1908 from spicyj/simpler-server-willmount

Simpler way to prevent flushing updates on server
Remove empty TextNode left behind by IE8 setInnerHTML workaround