Code factoring and improved handling of call history.

Structure sharing in the call history (as the comment suggests) is now
implemented, and used both by the default discriminating function and
by the satiation code.  Satiation is more general now and can handle
a wider variety of generic functions.