Support operation hedging in NetworkInterfaceTL.
Operation hedging should allow a request against a network interface to dispatch multiple overlapping requests to distinct nodes as part of the same logical operation. The first node to successfully respond, or to fail in a non-retriable way, should fulfill the operation and return the result to the caller.
This is made up of a few parts:
- Change the on heap representation of an in-flight operation (now encoded in the CommandState) to be capable of managing multiple in flight operations. My notion for a name is rename it ParallelCommandState, and have it own multiple CommandStates internally
- Change startCommand, in the presence of hedge options, to perform that operation hedging
The "basic" part of this ticket is that we can omit hooking into the functionality in PM-1372. For basic support it is sufficient to let those operations continue in the background