factory pattern in preparation for polymorphism

cleaned up printing, rewrite some code to use pointers in preparation
for polymorphism on marcfields. use singleton factory pattern to create
fields.