**Merge #16366: init: Use InitError for all errors in bitcoind/qt**
fa6f402 Call node->initError instead of InitError from GUI code (Russell Yanofsky)
fad2502 init: Use InitError for all errors in bitcoind/qt (MarcoFalke)
Pull request description:
```
Using the same InitError for startup error in the daemon and the gui makes it possible to run the tests with the gui again:
BITCOIND=bitcoin-qt ./test/functional/test_runner.py feature_includeconf feature_config_args
```
**Merge bitcoin#15864: Fix datadir handling**
ffea41f Enable all tests in feature_config_args.py (Hennadii Stepanov)
66f5c17 Use CheckDataDirOption() for code uniformity (Hennadii Stepanov)
7e33a18 Fix datadir handling in bitcoin-cli (Hennadii Stepanov)
b28dada Fix datadir handling in bitcoin-qt (Hennadii Stepanov)
5082409 Fix datadir handling in bitcoind (Hennadii Stepanov)
740d41c Add CheckDataDirOption() function (Hennadii Stepanov)
c1f3251 Return absolute path early in AbsPathForConfigVal (Hennadii Stepanov)
Pull request description:
Fix bitcoin#15240, see: bitcoin#15240 (comment)
Fix bitcoin#15745
Fix broken `feature_config_args.py` tests (disabled by MarcoFalke/bitcoin-core@fabe28a). All test are enabled now.
This PR is alternative to bitcoin#13621.
User's `$HOME` directory is not touched unnecessarily now.
---
This is a backport of Core [[https://github.com/bitcoin/bitcoin/pull/16366 | PR16366]] and [[https://github.com/bitcoin/bitcoin/pull/15864 | PR15864]]