Support SendTake for DexV3

Hey everyone, I (and an intern) have been working on implementing SendTake for DexV3. I know that DexV4 is a work in progress, but given that many existing programs still rely on V3, I think this feature has high enough utiilty to figure out a path to launch.

The pitch:

  1. Aggregators like Jupiter have a tough time routing to Serum due to the OpenOrders account requirement (need SOL to hydrate OO account, need to add a SettleFunds instruction after the NewOrder instruction)

  2. This leads to potentially poor UX for users. At the very least there’s no SOL needed for account creation and the TX will reduce in size by at least 32 bytes + size_of(SettleFundsInstruction)

  3. Swapping w/o the OO account would make non-MM interaction with Serum much more seamless as the taker trades would truly just instantaneously settle.

A lot of volume does already flow to Serum from Jupiter, but I suspect that a lot of these are larger trades (LOB likely has lower slippage at large size depending on pool liquidity).