Move datadescriptor back to the top level

This one doesn't fit cleanly in io. Maybe it needs to be split up
as follows:

 - blaze.datadescriptor: interface, and memory data descriptor
 - blaze.io: data descriptors for files and other data IO
 - blaze.compute: deferred execution data descriptors