Other DataSet members for column names and row ids/names, etc.
Other TODO:
Read-ahead optimization to reduce FileStream.Seek() usage
Vary buffer size based on DataSet size (number of columns)
Explicit Interface Implementation (see MSDN tutorial)
Methods that can only be called with an interface reference to the object.
IDataSet ds = new DataSet("file.txt");
IDataSet ds = new MemoryMapDataSet("file.txt");
Issues
The Distance module uses DataSet.SetDataPoint to modify by the feature weights from the STD function. For this reason, Distance will still use DataSet. IDataSet.Filter will return a DataSet. After filtering, the DataSet size needs to be small enough to be held in memory.