The `make install` script, which most users would run via `sudo` to install into `/usr/local`, will use the current umask of the root user when creating certain files and directories. If one uses a restrictive umask by default (e.g. `umask 077`), this means that only the root user will be able to use the full Bitcoin package.

**Expected behavior**

The install script creates all directories and files, including man pages, etc., with permissions `644` / `755`.

**Actual behavior**

Certain folders are created using the default umask, e.g.:

- /usr/local/share/man/man1/
- /usr/local/lib/pkgconfig/
- [...]

This means that only root can access files in these folders and other users won't be able to read the man pages (for example).

**To reproduce**

```bash
$ ./autogen.sh
$ make
$ sudo -iu root
% umask 077
% make install
```

**System information**

OS: Linux
bitcoind version: HEAD
{
    fs::path path, path_tmp;
    if (!GetSettingsPath(&path, false, backup) || !GetSettingsPath(&path_tmp, true, backup)) {
        throw std::logic_error("Attempt to write settings file when dynamic settings are disabled.");
    }
    LOCK(cs_args);
    std::vector<std::string> write_errors;
    if (!util::WriteSettings(path_tmp, m_settings.rw_settings, write_errors)) {
        SaveErrors(write_errors, errors);
        return false;
    }
    if (!RenameOver(path_tmp, path)) {
        SaveErrors({strprintf("Failed renaming settings file %s to %s\n", fs::PathToString(path_tmp), fs::PathToString(path))}, errors);
        return false;
    }
    return true;
}
util::SettingsValue ArgsManager::GetPersistentSetting(const std::string& name) const
{
    LOCK(cs_args);
    return util::GetSetting(m_settings, m_network, name, !UseDefaultSection("-" + name),
        true, false);
}
bool ArgsManager::IsArgNegated(const std::string& strArg) const