For a certain transaction structure the GUI does not show all transactions that occurred.

Perform the following transaction structure to reproduce the bug:

Input: Any owned coins
Output 1: Address not owned by the wallet
Output 2: Address owned by the wallet (generated using the receive payment feature, so it's not a change address)

So there is a payment to someone else and a payment to self. The payment to self is missing in the GUI. Normally, the GUI does list payments to self.

`listtransactions` lists 3 transactions here: The send to the foreign address and a send/receive pair for the payment to self. I don't know if this is correct. I'm mentioning this so that the devs can make sure this is intended.

See transaction `5299f198919d6bd5b9f6d7a5f256b23417cb49ea663828f51cfc1b4d7e69822d` on testnet.

case Amount:
                return tr("Amount removed from or added to balance.");
            }
        }
    }
    return QVariant();
}
QModelIndex TransactionTableModel::index(int row, int column, const QModelIndex &parent) const
{
    Q_UNUSED(parent);
    TransactionRecord *data = priv->index(walletModel->wallet(), row);
    if(data)
    {
        return createIndex(row, column, priv->index(walletModel->wallet(), row));
    }
    return QModelIndex();
}
void TransactionTableModel::updateDisplayUnit()
{
    
    updateAmountColumnTitle();
    Q_EMIT dataChanged(index(0, Amount), index(priv->size()-1, Amount));
}
struct TransactionNotification
{
public:
    TransactionNotification() {}
    TransactionNotification(uint256 _hash, ChangeType _status, bool _showTransaction):
        hash(_hash), status(_status), showTransaction(_showTransaction) {}
    void invoke(QObject *ttm)