DataSet and AriaSet (RFC)

Fixes #1259.

aria-* and data-* should be deprecated soon. Right now it's a warning.
`<div data-foo="a" dataSet={{foo: 'b'}} />` <- gives the same warning
Under the hood ariaSet and dataSet are spread on props as aria-* and data-* (hyphenated), so the logic largely stays the same.
Tested on ie8.

RFC because this touches one of the hottest code paths and I feel bad about it. @petehunt @kmeht