message: Fix calculation of balances and available coins.
  No longer consider coins which aren't in our mempool.
  Add test for regression in abandonconflict.py
diff: @@ -1736,7 +1736,7 @@ CAmount CWallet::GetUnconfirmedBalance() const
  LOCK2(cs_main, cs_wallet);
  for (std::map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) {
  const CWalletTx* pcoin = &(*it).second;
  - if (!IsFinalTx(*pcoin) || (!pcoin->IsTrusted() && pcoin->GetDepthInMainChain() == 0))
  + if (!pcoin->IsTrusted() && pcoin->GetDepthInMainChain() == 0 && pcoin->InMempool())
  nTotal += pcoin->GetAvailableCredit();
  }
  }
  @@ -1778,7 +1778,7 @@ CAmount CWallet::GetUnconfirmedWatchOnlyBalance() const
  LOCK2(cs_main, cs_wallet);
  for (std::map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) {
  const CWalletTx* pcoin = &(*it).second;
  - if (!IsFinalTx(*pcoin) || (!pcoin->IsTrusted() && pcoin->GetDepthInMainChain() == 0))
  + if (!pcoin->IsTrusted() && pcoin->GetDepthInMainChain() == 0 && pcoin->InMempool())
  nTotal += pcoin->GetAvailableWatchOnlyCredit();
  }
  }
  @@ -1851,6 +1851,11 @@ void CWallet::AvailableCoins(
  if (nDepth == 0 && !pcoin->InMempool())
  continue;
  + // We should not consider coins which aren't at least in our mempool
  + // It's possible for these to be conflicted via ancestors which we may never be able to detect
  + if (nDepth == 0 && !pcoin->InMempool())
  + continue;
  +
  for (unsigned int i = 0; i < pcoin->vout.size(); i++) {
  bool found = false;
  if (nCoinType == ONLY_DENOMINATED) {
  