Consolidate ID Attribute Markup Generation

We have this really nice method for safely creating markup for an HTML
attribute, `DOMPropertyOperations.createMarkupForProperty(...)`. Let's
use it to create the ID attribute markup, too.
Add `createMarkupForID`

This is a follow-up the to previous commit and does two things:

 - Moves `ReactMount.ATTR_NAME` to `DOMProperty.ID_ATTRIBUTE_NAME`.
 - Adds `DOMPropertyOperations.createMarkupForID` and uses it.
A new prop type for React Components

Since we can use props to pass React Components, we should have a better way of validating these props than just `object`. Having a prop type `component` will allow us to safely assume that the passed prop IS a component.
Simple HTML to JSX converter, built during Hackathon 40 at Facebook.

See /react/html-jsx.html. Not directly linked from the site yet as there may still be some minor issues with it.
Merge pull request #691 from Daniel15/hackathon40-htmltojsx-master

Simple HTML to JSX converter
Upgrade envify dependency to v1.0.1.

This version uses Recast for source transformation:
https://github.com/hughsk/envify/pull/4
Merge pull request #662 from benjamn/replace-envify

Upgrade envify to a version that uses recast.
Document the Diff algorithm

We often refer to it but never did actually explain it.