new dflet implementation, based on cl-letf
actually 24.3.1 is a special case...

(symbol-function 'plop) errors out if 'plop is not a function. This
doesn't happen in later versions.