Fix mempool handling of coinbase spends

The logic for removing/resurrecting transactions from the memory
pool was broken for spends of coinbase transactions; they
were not being removed from the mempool when they should.

Fixed by having DisconnectTip() remove any transactions from the memory
pool that are descendants of the was-mature-but-is-now-immature coinbase
transaction.

A future pull request could keep track of all those removed transactions
and try to resurrect them after re-organizing onto the new chain, but
I'm not sure it is worth writing that code for a case that never happens,
and, if it does happen, should correct itself (wallets should re-broadcast
transactions that don't end up in the chain).