Fine separation of variables in Format hierarchy.

This is really an intermediate design refactoring.  Basically, my
opinion is that variables defined in the superclass must be private and
should only be accessed by methods in the super class — as far as
possible.

This requires that methods in super class are finely refactored into
sub-methods that use these variables.  That allows sub-classes to call
methods that use these variables without having to access these
variables themselves.

This is what we have done in the Format superclass.  The instance
variables, fields and builder, are made private, and the methods in
Format have been finely divided up to allow sub-classes to work as well.

One thing we notice after this excercise is that two instance variables
— fields and builder — don’t go along much together.  They seem to
stand apart.  This means either (1) they belong to seperate  objects or
(2) one of them should be made into a local variable.  We’ll see which
one is the right way for us in the next design.