implementation of dataset for any core.matrix

Use metadata to allow any core.matrix to be treated as a dataset