Don't return null children from flattenChildren

This simplifies ReactMultiChild a little bit and will make it more practical to coalesce adjacent text strings.
Add onMouseOver and onMouseOut events

Fixes #340.

Test Plan:
Ported @danielstocks's jsfiddle (linked in the issue) to React and the hover effect worked properly.
Add source map support to browser transformer
Remove sometimes-confusing console error

Fixes #767. This essentially reverts 738de8c.

We could store some sort of flag to silence the console error here but since we've made significant improvements in markup wrapping, this error is fairly rare now. We'll also have validation of node structure soon in #735.
Set target properties explicitly for enter/leave

Fixes #785.
Remove mentions of browserify in examples
Prefer textContent to innerText

Fixes #807.
Added support for 4 extra SVG tags: stop, defs, linearGradient, radialGradient
Updated docs with new SVG elements
Add charCode/keyCode/which to key event docs
Aphabetized and wrapped tags/attributes docs
benchmark runner
Merge pull request #823 from spicyj/key-docs

Add charCode/keyCode/which to key event docs
Merge pull request #804 from spicyj/examples-no-browserify

Remove mentions of browserify in examples
Throw when unmounting <html>, <head>, <title> or <body>

These are dangerous from a cross-browser perspective. I think supporting efficient reactive updates will be prohibitively
expensive and we'll never prioritize it. Instead of killing this capability entirely, let's just throw on the dangerous cases.
There will be a few follow-up diffs
Forbid full-page rendering without server rendering

Final part of server rendering cleanup. We should only support full-page rendering when server rendering is involved since
otherwise it's slow and can crash browsers when you start adding and removing document roots. This diff removes the magic
innerHTML code (since that will be handled by the server rendering piece) and adds the right assertions and errors.

Because there's no longer a dangerous of accidentally nuking the whole page, I removed allowFullPageRender which is yet another
internal we no longer need to expose.
Change global to window in SyntheticClipboardEvent

Replace `global` reference with `window` in `SyntheticClipboardEvent`.
Cleanup ReactEventEmitter Variable Naming

Minor follow-up to 80d7d2d0f8ec0f4f1f3c2dbe613f36bda572ce11.
Silence console.error in ReactDOMInput-test

This test is expected to throw but because of ReactErrorUtils.guard
which uses console.error in __DEV__ it also logged the invariant error
to the console. This change fixes it by temporarily stubbing out
console.error.

Fixes #531
Separate Module for Key Normalization

This moves key normalization into its own module so that it can be re-used elsewhere.