[SPARK-3861][SQL] Avoid rebuilding hash tables on each partition

BroadcastHashJoin builds a new hash table for each partition. We can build it once per node and reuse the hash table.