bitcoind won't start if datadir is specified in the conf file and the user running it has no home dir

tested with debian stretch and bitcoin 0.17.1

```
# sudo -u bitcoin bitcoind -daemon -conf=/usr/local/etc/bitcoin/bitcoin.conf -pid=/run/bitcoind/bitcoind.pid

************************
EXCEPTION: N5boost10filesystem16filesystem_errorE
boost::filesystem::create_directories: Permission denied: "/home/bitcoin"
bitcoin in AppInit()

bitcoind: chainparamsbase.cpp:29: const CBaseChainParams& BaseParams(): Assertion `globalChainBaseParams' failed.
Aborted

# mkhomedir_helper bitcoin

# sudo -u bitcoin bitcoind -daemon -conf=/usr/local/etc/bitcoin/bitcoin.conf -pid=/run/bitcoind/bitcoind.pid
Bitcoin server starting
```


#endif
        
        if (!gArgs.GetBoolArg("-min", false)) {
            window->show();
        } else if (clientModel->getOptionsModel()->getMinimizeToTray() && window->hasTrayIcon()) {
            
        } else {
            window->showMinimized();
        }
        Q_EMIT splashFinished();
        Q_EMIT windowShown(window);
#ifdef ENABLE_WALLET
        
        
        if (paymentServer) {
            connect(paymentServer, &PaymentServer::receivedPaymentRequest, window, &BitcoinGUI::handlePaymentRequest);
            connect(window, &BitcoinGUI::receivedURI, paymentServer, &PaymentServer::handleURIOrFile);
            connect(paymentServer, &PaymentServer::message, [this](const QString& title, const QString& message, unsigned int style) {
                window->message(title, message, style);
            });
            QTimer::singleShot(100, paymentServer, &PaymentServer::uiReady);
        }
#endif
        pollShutdownTimer->start(200);
    } else {
        Q_EMIT splashFinished(); 
        quit(); 
    }
}
void BitcoinApplication::shutdownResult()