Macro Rebinding

Part of:

package metabang.utilities
( rebinding (&rest vars) &body < body > )

Similar to ONCE-ONLY. Typical usage:

(defmacro square (x)
(rebinding (x)
`(* ,x ,x)))

The magic is that the X inside the backquote is actaully a gensym bound to the
value of the form the caller gave us.