Shakeup of the dataset modules, got rid of the parser/emiter interfaces
now it's simpler but less modular as the parser code is responsible for
also creating the dataset. It was too complicated before but now it's
too simple, at some point I'll figure out how to do exactly what I want
but for now I think it's better this way.