If one calls `fundrawtransaction`, the change address will be retrieved from the keypool, though, this key/address will always be returned to the pool, leading to the problem that the next `getnewaddress()` call will restult in the same key/address.

Either we remove the auto-change-address (users would need to call `getrawchangeaddress` first [current best practice anyway]) or we add a call to keep/mark a specific key/address as change (after one have sent the funded raw transaction).

Reported by @NicolasDorier on IRC.
if (fFileBacked)
        {
            if (!pwalletdbEncryption->TxnCommit()) {
                delete pwalletdbEncryption;
                
                
                assert(false);
            }
            delete pwalletdbEncryption;
            pwalletdbEncryption = NULL;
        }
        Lock();
        Unlock(strWalletPassphrase);
        
        if (IsHDEnabled()) {
            CKey key;
            CPubKey masterPubKey = GenerateNewHDMasterKey();
            if (!SetHDMasterKey(masterPubKey))
                return false;
        }
        NewKeyPool();
        Lock();
        
        
        CDB::Rewrite(strWalletFile);
    }
    NotifyStatusChanged(this);
    return true;
}
DBErrors CWallet::ReorderTransactions()