This commit creates new public methods to iterate the join
cache. This is useful for engine condition pushdown in
remote storage engines. In addition to push the condition,
we can also push data to match rows during JOIN.
This avoids full table scan and hence full table read
over the network.