@property<EOL><INDENT>def super_pipe(self):<DEDENT>
orig_pipe = self._pipe<EOL>def exit_handler():<EOL><INDENT>self._pipe = orig_pipe<EOL><DEDENT>self._pipe = autoexec(orig_pipe, name=self.connection,<EOL>exit_handler=exit_handler)<EOL>return self._pipe<EOL>
Creates a mechanism for us to internally bind two different
operations together in a shared pipeline on the class.
This will temporarily set self._pipe to be this new pipeline,
during this context and then when it leaves the context
reset self._pipe to its original value.

Example:
    def get_set(self, key, val)
        with self.super_pipe as pipe:
            res = self.get(key)
            self.set(key, val)
            return res

This will have the effect of using only one network round trip if no
pipeline was passed to the constructor.

This method is still considered experimental and we are working out
the details, so don't use it unless you feel confident you have a
legitimate use-case for using this.