Batch updates caused by handlers in multiple roots

Fixes #1227.

It seems rare that event handlers in two roots nested in the DOM will update the same component in the same tick, but if that happens, the updates should be batched together.
Add tests for oneOfType with shape
docs remove comment section
Merge pull request #1285 from justinj/weak-shape-checker

Add tests for oneOfType with shape
Merge pull request #925 from chenglou/rm-comm

[Docs] Remove comment section
Make PropType.object pass for Date and RegExp instances

8855d6153e252c735de0e6cc373787d22c1a467b gave more accurate error messages for date and regexp by returning 'date' and 'regexp' respectively from `getPropType`.
However, for the object primitive check, which compares the instance passed with `getPropType's` return string, `object` !== 'date'.
This adds special hanlding for those.
add displayName to component spec functions

closes #992
Merge pull request #1231 from spicyj/gh-1227

Batch updates caused by handlers in multiple roots