Using master @ cb35f1d305d88934df64c2e7fb80700b673360e6

Run `bitcoin-qt`, and open either the `Encrypt Wallet` or `Change Passphrase` window. 
Unload the wallet. ie `src/bitcoin-cli unloadwallet`

```
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff5ba9523e libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff5bb4bc1c libsystem_pthread.dylib`pthread_kill + 285
    frame #2: 0x00007fff5b9fe1c9 libsystem_c.dylib`abort + 127
    frame #3: 0x00007fff5bb0d6e2 libsystem_malloc.dylib`malloc_vreport + 545
    frame #4: 0x00007fff5bb0d4a3 libsystem_malloc.dylib`malloc_report + 152
    frame #5: 0x0000000101ef9e90 QtCore`QObjectPrivate::deleteChildren() + 224
    frame #6: 0x00000001012439e2 QtWidgets`QWidget::~QWidget() + 1058
    frame #7: 0x00000001000ddc8c bitcoin-qt`WalletView::~WalletView() [inlined] WalletView::~WalletView(this=0x0000000159d976e0) at walletview.cpp:87 [opt]
    frame #8: 0x00000001000ddc87 bitcoin-qt`WalletView::~WalletView() [inlined] WalletView::~WalletView(this=0x0000000159d976e0) at walletview.cpp:86 [opt]
    frame #9: 0x00000001000ddc87 bitcoin-qt`WalletView::~WalletView(this=0x0000000159d976e0) at walletview.cpp:86 [opt]
    frame #10: 0x00000001000d42f8 bitcoin-qt`WalletFrame::removeWallet(this=0x000000010eaa4130, wallet_model=<unavailable>) at walletframe.cpp:98 [opt]
    frame #11: 0x000000010001f5b6 bitcoin-qt`BitcoinGUI::removeWallet(this=0x0000000108dc8bb0, walletModel=<unavailable>) at bitcoingui.cpp:611 [opt]
    frame #12: 0x0000000101f01d7b QtCore`QMetaObject::activate(QObject*, int, int, void**) + 2219
    frame #13: 0x00000001000ef3ff bitcoin-qt`WalletController::walletRemoved(this=<unavailable>, _t1=<unavailable>) at moc_walletcontroller.cpp:206 [opt]
    frame #14: 0x00000001000d2f46 bitcoin-qt`WalletController::removeAndDeleteWallet(this=0x0000000159d31a00, wallet_model=0x0000000122f44f80) at walletcontroller.cpp:91 [opt]
    frame #15: 0x0000000101f01d7b QtCore`QMetaObject::activate(QObject*, int, int, void**) + 2219
    frame #16: 0x0000000101efa801 QtCore`QObject::event(QEvent*) + 753
    frame #17: 0x0000000101218f8d QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
    frame #18: 0x000000010121a392 QtWidgets`QApplication::notify(QObject*, QEvent*) + 594
```
: QObject(parent)
    , m_node(node)
    , m_platform_style(platform_style)
    , m_options_model(options_model)
{
    m_handler_load_wallet = m_node.handleLoadWallet([this](std::unique_ptr<interfaces::Wallet> wallet) {
        getOrCreateWallet(std::move(wallet));
    });
    for (std::unique_ptr<interfaces::Wallet>& wallet : m_node.getWallets()) {
        getOrCreateWallet(std::move(wallet));
    }
    m_activity_thread.start();
}
WalletController::~WalletController()
{
    m_activity_thread.quit();
    m_activity_thread.wait();
}
std::vector<WalletModel*> WalletController::getWallets() const
{
    QMutexLocker locker(&m_mutex);
    return m_wallets;
}
std::vector<std::string> WalletController::getWalletsAvailableToOpen() const