JSX: Respect original spacing and newlines better

Fixes #335.

Now this JSX:

```
/** @jsx React.DOM */
var HelloMessage = React.createClass({
  render: function() {
    return <div>
      Look!
      <a href=
        "http://www.facebook.com/">Facebook
      </a>
    </div>;
  }
});
```

produces

```
/** @jsx React.DOM */
var HelloMessage = React.createClass({displayName: 'HelloMessage',
  render: function() {
    return React.DOM.div(null,
      " Look! ",
      React.DOM.a( {href:
        "http://www.facebook.com/"}, "Facebook "
      )
    );
  }
});
```

rather than the less-desirable

```
/** @jsx React.DOM */
var HelloMessage = React.createClass({displayName: 'HelloMessage',
  render: function() {
    return React.DOM.div(null,
" Look! ",      React.DOM.a( {href:"http://www.facebook.com/"}, "Facebook "      ),
    );
  }
});
```
Make constant propagation smarter about pruning if statements.
Merge pull request #343 from benjamn/fix-if-statement-pruning

Make constant propagation smarter about pruning if statements
Give the user a warning when using unoptimized JSX code and send the user to the correct location in the documentation to optimize.
Correcting the markdown anchor
- removed creation of the id within the tooling integration doc (expect this to be done by @zpao's pull request)
- removed the if statement and now always provide a warning message (as proposed by @spicyj)
- improved the warning message
Merge pull request #359 from SanderSpies/master

Give the user a warning when using unoptimized JSX code
Add composition events to React.

Composition events make it possible to detect IME entry/exit.
https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent
Rename unmountAndReleaseReactRootNode() -> unmountComponentAtNode()

This is just a better name; we may revisit the name later.
Merge pull request #336 from spicyj/jsx-spacing

JSX: Respect original spacing and newlines better
Fix use of "it's" in docs
Fix typo in doc
Docs: Give headers ids for easy linking

This gives markdown headers an id so that we can link directly to
sections of our docs. This is better than the alternative of adding them
all ourselves.