Speed up MemoryPool#remove_for_block

The change looks up conflicts (double-spends) in a single bulk lookup vs. looking up every previous output for every tx in the block iteratively. In production this could cause blocking on the order of 10s of seconds for the tx worker when the block worker is calling the captioned method.

Note: Testing this on staging first.