Major overhaul: made Z shape fitting much more intuitive; Z shape is constructed first (in PrepareZShapes), then frozen (if requested), and finally used in the fit. Several bugs were fixed that could lead to non-convergence (e.g. possible conflict in R_SF_OF definition for iJZB); moved Z fitting variables and shapes to EdgeFitter namespace instead of just variables that are used to reconstruct them; added safety check that fit converged (otherwise it is redone, up to a total of 3 attempts); removed duplicate Z shape code; improved Z component checks (and made Z component addition more intuitive, and for RooFit easier to handle); and much much more