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 for diffing on DOM props largely stays the same.
Tested on ie8.