Remove custom attrs properly when setting to null

I don't think this particular codepath was exercised at all (because all the callers call deleteValueForProperty) but this fixes a bug here nonetheless.
[addons] Renamed update() directives to commands
Make EventPluginUtils clear dispatchIDs and dispatchListeners

The other dispatch utils clear these out and I found a bug where they weren't being cleared out.
I'm thinking this should probably be done in the `SyntheticEvent` constructor but at least this way it's consistent. Also, I know no one else uses `executeDispatchesInOrderStopAtTrue` except the `ResponderEventPlugin`.
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 clearer invariants to composite spec mixing
Carry ajax error checking from step #13 forward to other ajax steps

The following steps also have an ajax function, but the 'error:' param
is gone after #13:
#14
#17
#19
#20
This may be superfluous, but it helped me find an error with something I
was doing - Namely, in my .json file, I had single line javascript
comments ("//") that I copied from the tutorial. I couldn't find the
issue on later steps, but was able to see my issue when the error
handler complained about an unexpected "/" in my file in step #13.
[Docs] Rendering null/false and getDOMNode.
Add tests for oneOfType with shape
Add test for isValidDescriptor

Fixes #1164.

Test Plan: grunt test
docs remove comment section
Test for correct handling of "download" attribute

These tests currently fail as there is no special treatment for this kind of
attribute.

Related: GH-1337
Support minimizable, non-boolean attributes

Fixes GH-1337
Rename CAN_BE_MINIMIZED to HAS_BOOLEANISH_VALUE
Combine valid value checks
Test more falsey values
Update tutorial.md
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