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
{
    
    
    if (to.GetPort() != I2P_SAM31_PORT) {
        proxy_error = false;
        return false;
    }
    proxy_error = true;
    std::string session_id;
    std::unique_ptr<Sock> sock;
    conn.peer = to;
    try {
        {
            LOCK(m_mutex);
            CreateIfNotCreatedAlready();
            session_id = m_session_id;
            conn.me = m_my_addr;
            sock = Hello();
        }
        const Reply& lookup_reply =
            SendRequestAndGetReply(*sock, strprintf("NAMING LOOKUP NAME=%s", to.ToStringIP()));
        const std::string& dest = lookup_reply.Get("VALUE");
        const Reply& connect_reply = SendRequestAndGetReply(
            *sock, strprintf("STREAM CONNECT ID=%s DESTINATION=%s SILENT=false", session_id, dest),
            false);
        const std::string& result = connect_reply.Get("RESULT");
        if (result == "OK") {
            conn.sock = std::move(sock);
            return true;
        }