Adds optional callback to `setState`

This commit adds an optional callback as a second argument to
`setState`, to be called after `setState` runs.

We never guarantee synchronous execution of `setState`, and as per
@phunt, we don't want to make that guarantee because we may eventually
batch calls to `setState`.  @jwalke agrees with him.
Updated docs and check for truthiness

Change api docs to reflect presence of the new argument.  In addition,
callback was change to require only a "truthy" value.
markdown syntax

Small problem with markdown syntax in syntax-highlighted block.
Add callbacks to all public-facing state/props methods

All public facing {set,replace,force}{props,state} methods now support
callbacks.
Merge branch 'master' into async-state
Batch together calls to setState, setProps, etc

The end of ReactUpdates-test.js is probably most illuminating for seeing how this works.
Merge pull request #115 from spicyj/async-state

Batch together calls to setState, setProps, etc