First version of a new history mechanism for the model info.

In previous versions, there was only one field modelInfo, which was updated
whenever a new model was built from an old one (e.g. for the partiallyFixedModelBuilder).
Now the old information is kept and a new BuilderInfo object is added. Thus it effectively
keeps a history of changes that were applied to the model