def get_multi_cas(*keys)
      if block_given?
        pipelined_getter.process(keys) { |*args| yield(*args) }
      else
        {}.tap do |hash|
          pipelined_getter.process(keys) { |k, data| hash[k] = data }
        end
      end
    end
#
Fetch multiple keys efficiently, including available metadata such as CAS.
If a block is given, yields key/data pairs one a time.  Data is an array:
[value, cas_id]
If no block is given, returns a hash of
{ 'key' => [value, cas_id] }