This replaces the orphan pool, and reuse the same structure and wrappers to store the orphans proofs mapped by utxo and id. The only change in behavior is that we don't allow orphans with conflicting utxos anymore, which requires an update in a functional test and a new unit test case.
Ref T1854.
Depends on D10597.