ARROW-11064: [Rust][DataFusion] Speed up hash join on smaller batches
ARROW-11064: [Rust][DataFusion] Speed up hash join on smaller batches

FYI @andygrove @jorgecarleitao

This is related to findings here: https://github.com/apache/arrow/pull/9036
This is a ~20% win on smaller batch sizes, but also has an effect on bigger sizes (about 10% on size of 16k locally)

Query 12 with batch size 4096

PR:

```
Query 12 iteration 0 took 484.0 ms
Query 12 iteration 1 took 482.5 ms
Query 12 iteration 2 took 496.9 ms
Query 12 iteration 3 took 488.1 ms
Query 12 iteration 4 took 504.9 ms
Query 12 iteration 5 took 490.4 ms
Query 12 iteration 6 took 486.8 ms
Query 12 iteration 7 took 499.3 ms
Query 12 iteration 8 took 485.0 ms
Query 12 iteration 9 took 488.8 ms
Query 12 avg time: 490.67 ms

```

Master:
```
Query 12 iteration 0 took 669.6 ms
Query 12 iteration 1 took 764.8 ms
Query 12 iteration 2 took 705.8 ms
Query 12 iteration 3 took 645.1 ms
Query 12 iteration 4 took 640.9 ms
Query 12 iteration 5 took 639.2 ms
Query 12 iteration 6 took 658.9 ms
Query 12 iteration 7 took 643.2 ms
Query 12 iteration 8 took 639.0 ms
Query 12 iteration 9 took 639.2 ms
Query 12 avg time: 664.57 ms
```

Closes #9042 from Dandandan/join_perf

Authored-by: Heres, Daniel <61924dac3230581b78b62e9e0cd0f8203281db27@gmail.com>
Signed-off-by: Andy Grove <f68909d51919859739a1c5d24450a2cc1026e93b@gmail.com>

cpcloud/arrow,laurentgo/arrow,cpcloud/arrow,kou/arrow,laurentgo/arrow,laurentgo/arrow,wesm/arrow,wesm/arrow,kou/arrow,cpcloud/arrow,laurentgo/arrow,laurentgo/arrow,kou/arrow,laurentgo/arrow,kou/arrow,apache/arrow,icexelloss/arrow,cpcloud/arrow,cpcloud/arrow,laurentgo/arrow,apache/arrow,icexelloss/arrow,wesm/arrow,kou/arrow,wesm/arrow,kou/arrow,cpcloud/arrow,cpcloud/arrow,wesm/arrow,laurentgo/arrow,kou/arrow,wesm/arrow,icexelloss/arrow,apache/arrow,icexelloss/arrow,icexelloss/arrow,laurentgo/arrow,kou/arrow,apache/arrow,kou/arrow,apache/arrow,kou/arrow,cpcloud/arrow,wesm/arrow,apache/arrow,icexelloss/arrow,cpcloud/arrow,kou/arrow,icexelloss/arrow,wesm/arrow,apache/arrow,icexelloss/arrow,laurentgo/arrow,cpcloud/arrow,icexelloss/arrow,icexelloss/arrow,icexelloss/arrow,laurentgo/arrow,kou/arrow,cpcloud/arrow,wesm/arrow,apache/arrow,icexelloss/arrow,laurentgo/arrow,kou/arrow,icexelloss/arrow,apache/arrow,wesm/arrow,apache/arrow,wesm/arrow,kou/arrow,laurentgo/arrow,wesm/arrow,wesm/arrow,wesm/arrow,cpcloud/arrow,apache/arrow,laurentgo/arrow,cpcloud/arrow,apache/arrow,laurentgo/arrow,cpcloud/arrow,icexelloss/arrow,apache/arrow,apache/arrow