Optimize join evaluation.

Play various precomputation tricks to improve efficiency of evaluating
localpreds (i.e., the join predicates that are checked by hand, rather than by
probing the hash table). For a concurrent editing test case, this improves
overall performance by about 50%.