More tidying up, made two new high level wrappers.

gdf_write_file and gdf_read_file now wrap all the metadata operations.

Updated the examples to use these wrappers.

Also wrote a type independant main dataset interface in
data_writers_beta.