[mempool] make broadcast peer prioritization random between fullnodes (#2469)
[mempool] make broadcast peer prioritization random between fullnodes (#2469)

### Description

Peer prioritization is used to broadcast transactions from a fullnode to a subset of outbound connections.

Add some randomness between fullnodes for deciding peer prioritization, by using a simple hash. (Within a fullnode, the prioritization sorting is still stable.)

Before the change, because fullnodes did the same sorting, fullnode connections could be skewed. Most notably if `NetworkConfig.max_outbound_connections` > `MempoolConfig.default_failovers`.

### Test Plan

Ran a modified smoke test with 10 validators and VFNs and `NetworkConfig.max_outbound_connections=10` and `MempoolConfig.default_failovers = 1`. Before the change, a single VFN (with smallest peerId) was the outbound broadcast node for most VFNs; now the connections are more evenly spread out.
aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core