Better fix for SimpleDelegator subclasses (#219).

My last fix did not properly simulate SimpleDelegator since it mixes in
a dup of Kernel and not Kernel itself.  This actually fixes it, and I
also fixed `and_call_original` (which suffered from the same bug) for
this case as well.