Allow passing a string directly to dangerouslySetInnerHTML

In response to #1370 and to move the discussion along.

As far as I understand it, `{__html: X}` is not *really* intended as another safe-guard, but a remnant of how XHP worked/works.

Here's a fully backwards-compatible implementation, with a bunch of test-cases added to ensure correct functioning.

```
   raw     gz Compared to master @ 32b84a4c5ea32835b93a857cf00f0db86d6c755a
  -290    -34 build/JSXTransformer-previous.js
-19584  -3777 build/JSXTransformer.js
     =      = build/react-previous.min.js
 +3227   +434 build/react-test.js
  +421    +68 build/react-with-addons.js
  +170    +32 build/react-with-addons.min.js
  +421    +71 build/react.js
  +170    +23 build/react.min.js
```