Further refactoring of DiagramCreator.  Added a new interface BuildStepMaker whose responsibility is to make a linked list of BuildSteps (e.g. from a sequence of RecompositionSteps).  A good strategy for making build steps will collect together similar contours into a single build step so that we can make matching placement decisions and create symmetric diagrams.