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.