Add DataSet and .read_direct, .write_direct methods

Next step in making data io work (part of issue #16)