message: Remove coinstake tx from the pool if exist when disconnecting the block
diff: @@ -2647,7 +2647,7 @@ bool static DisconnectTip(CValidationState& state, const CChainParams& chainpara
  const CTransaction& tx = *it;
  // ignore validation errors in resurrected transactions
  CValidationState stateDummy;
  - if (tx.IsCoinBase() || !AcceptToMemoryPool(mempool, stateDummy, it, false, NULL, NULL, true)) {
  + if (tx.IsCoinBase() || tx.IsCoinStake() || !AcceptToMemoryPool(mempool, stateDummy, it, false, NULL, NULL, true)) {
  mempool.removeRecursive(tx, MemPoolRemovalReason::REORG);
  } else if (mempool.exists(tx.GetHash())) {
  vHashUpdate.push_back(tx.GetHash());
  