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
```


int status;
    int error;
    std::string body;
};
static const char *http_errorstring(int code)
{
    switch(code) {
#if LIBEVENT_VERSION_NUMBER >= 0x02010300
    case EVREQ_HTTP_TIMEOUT:
        return "timeout reached";
    case EVREQ_HTTP_EOF:
        return "EOF reached";
    case EVREQ_HTTP_INVALID_HEADER:
        return "error while reading header, or invalid header";
    case EVREQ_HTTP_BUFFER_ERROR:
        return "error encountered while reading or writing";
    case EVREQ_HTTP_REQUEST_CANCEL:
        return "request was canceled";
    case EVREQ_HTTP_DATA_TOO_LONG:
        return "response body is larger than allowed";
#endif
    default:
        return "unknown";
    }
}
static void http_request_done(struct evhttp_request *req, void *ctx)