Add dataset & document fragment support.

Check whether a key in the attributes hash starts with data- if
so then use the data-set module to set a dataset property on it.

Change isNode to check for nodeType & nodeName properties which
exist on all nodes including document fragments.
use newer version of data-set
Merge pull request #5 from Raynos/master

Support dataset & document fragments