Refactoring the GedcomFileWriter to use a set of helper classes that use
polymorphism to write the data according to the encoding needed, as
opposed to big switch statements.