Refactoring of export functionality and implementation of VCF exporter

The export functionality is split into a part to retrieve the data, and the part to actually write the output file. The latter is put into classes implementing the HighDimExporter interface. This allows us to develop different types of export file formats, independent of the way the data is retrieved from the database.