Changing how files are written

Files are now written from compiling together all the raw tag data in
preparation for tag data changing. Several structures have been added
although implementation is still being designed and is subject to
change.