Fixes #16220, see #16220 (comment)
- util/system datadir code should not care about wallets or look for or create any wallet paths
- If -walletdir is specified, wallet code should use that directory to locate and list wallets.
- If -walletdir is specified and path is not a directory, wallet init should return a fatal error and refuse to start
- If -walletdir is not specified, wallet code should use /wallets as the directory to locate and list wallets.
- If -walletdir is not specified and /wallets does not exist, wallet init code should create it
- Before creating /wallets wallet should call ListWalletDir ListDatabases on
- If list is empty wallet should create /wallets as a directory, otherwise it should create it as a symlink pointing to .