change the zipper representation of calls
This patch combines two changes:
1. As requested by SimonPJ, the redundancy inherent in having
LastCall bear actual parameters has been removed. The actual
parameters are now carried by a separate CopyOut node.
2. The internal (to zipper) representation of calls has changed;
the representation of calling conventions is more orthogonal,
and there is now no such thing as a 'safe' or 'final' call
to a CallishMachOp. This change has affected the interface
to MkZipCfgCmm, which now provides a static guarantee. Simon's
new upstream code will be affected; I've patched the existing
code in CmmCvt (which becomes ever hairier).