update dead jsx link to point to an extant page

syntax.html no longer exists, so point people at the in depth article instead.
put closing paren in correct place
remove dead link

the event handling doc page no longer exists
Call callbacks from setState in component context

This is way more useful than the alternative.
Fix OrderedMap.

Tim caught a bug. Squashing it so he can rebase on top of it.
Warn when server-rendered markup is not what we expect on the client

As @leebyron and balpert pointed out, if the markup on the server is differnet than what the client expects undefined behavior and chaos may ensue. A good fallback
is for us to just inject the client-side markup (as it is the source of truth) and warn the user in __DEV__ that something is wrong. In order to do a fast
browser-independent check of the DOM I use an adler32 checksum of the generated markup. I believe this is better than a simple innerHTML compare because different
browsers massage innerHTML differently.
Remove circular dependencies in React Core.

There is a circular dependency between `ReactID`, `ReactMount` and
`ReactInstanceHandles`. Ben and I talked about this today. It seems like the
simplest solution is to consolidate a lot of the code that Ben recently wrote
into `ReactMount`. We can later find ways to trim code out of this module
without causing circular deps.
Use `invariant` in `OrderedMap`

Just some therapeutic cleanup.
Typecheck ImmutableObject

Just some therapeutic cleanup.
Use `invariant` in `react/utils`

Just some therapeutic cleanup.
Merge pull request #224 from spicyj/cb-context

Call callbacks from setState in component context
Cleanup 2nd param to ReactEventEmitter.ensureListening

It was removed, so these callsites aren't actually doing anything.
Delete `throwIf`

Deletes `throwIf()` in favor of having one way to throw errors: `invariant()`
Batch Child Markup Generation

Setting `innerHTML` is slow: http://jsperf.com/react-child-creation/2

This reduces the number of times we set `innerHTML` by batching markup generation in a component tree.

As usual, I cleaned up the `ReactMultiChild` module significantly.

== Children Reconciliation ==

When a `ReactNativeComponent` reconciles, it compares currently rendered children, `prevChildren`, with the new children, `nextChildren`. It figures out the shortest series of updates required to render `nextChildren` where each update is one of:

 - Create nodes for a new child and insert it at an index.
 - Update an existing node and, if necessary, move it to an index.
 - Remove an existing node.

This serializable series of updates is sent to `ReactDOMIDOperations` where the actions are actually acted on.

== Problem ==

There are two problems:

 # When a `ReactNativeComponent` renders new children, it sets `innerHTML` once for each contiguous set of children.
 # Each `ReactNativeComponent` renders its children in isolation, so two components that both render new children will do so separately.

For example, consider the following update:

  React.renderComponent(<div><p><span /></p><p><span /></p></div>, ...);
  React.renderComponent(<div><p><img /><span /><img /></p><p><img /><span /><img /></p></div>, ...);

This will trigger setting `innerHTML` four times.

== Solution ==

Instead of enqueuing the series of updates per component, this diff changes `ReactMultiChild` to enqueue updates per component tree (which works by counting recursive calls to `updateChildren`). Once all updates in the tree are accounted for, we render all markup using a single `innerHTML` set.
Send branch info from travis for continuous builds
Updated Changelog for 0.4.1
Blog post for v0.4.1
Updated Readme for 0.4.1
Change `ReactMultiChild` test to check for `innerHTML` descriptor.

Not all testing environments will support setting the `innerHTML` descriptor. For example, PhantomJS initializes the `innerHTML` property as not configurable.
Fix `Danger` test failures.

The original tests were flawed because the `Danger` module exploits the fact that all React-generated markup has at least one attribute. This allows the module to extract node names from markup strings faster.

However, the tests were passing in strings of markup with no attributes.

Also, this fixes a test failure due to the test trying to set text content into a `<tr>` which is typically disallowed by browsers (and PhantomJS). This changes it to use `<td>` instead.