Document multiple ways to insert comments in JSX
Update 05-reusable-components.md

`any` also seems to accept primitive values, not only objects. And since we already have `React.PropType.object`, the description was confusing.
Merge pull request #1379 from fkling/patch-1

Update 05-reusable-components.md
fix typo in 09.4-test-utils.md
Merge pull request #1364 from spicyj/key-collisions-2

Ignore children with clashing keys
Share reconcile transaction in batched updates

Should make #1350 better and will also take away any performance hit from #1157.

Test Plan:
grunt test
Merge pull request #1381 from marcinkwiatkowski/master

fix typo in 09.4-test-utils.md
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.
Add start property that is used by the <ol> tag

Property was missing
Separate performanceNow into own project
Update invalid render error message

forgot to update the message following the previous diff on rendering null.
Revamp and fix PropTypes

This uses the return value (an Error or nothing) to indicate whether a prop passes validation or not. It used to be done through calling `console.warn` as a side-effect, except this didn't work well with and `oneOfType`, which calls each validator.

The solution was to insert a `.weak` prop to each validator to suppress the warning message. This is overkill and also doesn't work well in because it increases the potential API surface. Plus, letting the validators warn it can't be easily used for logging, especially for custom validators.

So `.weak` is no longer needed: fixes https://github.com/facebook/react/issues/863.

Backward compatibility for custom validators: since they didn't return anything and directly call `console.warn` or something, this doesn't break them.

Improvements:

  - `arrayOf`, `oneOfType` and `oneOf` got better message now, since they can get hold of their validator's message and output that instead of a generic `warning: bla`.
  - More complete tests, including testing custom types and `isRequired` on everything.

Bug fixes:

  - oneOfType(...).isRequired didn't work. The workaround was to use `oneOfType(a.isRequired, b.isRequired, ...)`. This means `oneOfType(a.isRequired, b)` doesn't make sense. The new version simply makes `oneOfType(...).isRequired` possible.
  - `oneOf([true])` worked for 'true' boolean because it converted everything to string before comparing. It no longer does.
- `oneOf([true]).isRequired` didn't work.

(see #1294)
[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