Some URLs expect a User-Agent header.

Example (version 22.2.1.3767):
```sql
SELECT * FROM url('https://api.github.com/users/clickhouse','JSONAsString');
```
Results in:
```
Code: 86. DB::Exception: Received error from remote server /users/clickhouse. HTTP status code: 403 Forbidden, body: 
Request forbidden by administrative rules. Please make sure your request has a User-Agent header (http://developer.github.com/v3/#user-agent-required). Check https://developer.github.com for other possible causes.
: While executing URL. (RECEIVED_ERROR_FROM_REMOTE_IO_SERVER) (version 22.2.1.3767)
```

Maybe it's nice to always send a header along, something like `User-Agent: ClickHouse/22.2.1.3767` ?

if (!result)
                return false;
            internal_buffer = impl->buffer();
            working_buffer = internal_buffer;
            offset_from_begin_pos += working_buffer.size();
            return true;
        }
        off_t getPosition() override
        {
            return getOffset() - available();
        }
        off_t seek(off_t offset_, int whence) override
        {
            if (whence != SEEK_SET)
                throw Exception("Only SEEK_SET mode is allowed.", ErrorCodes::CANNOT_SEEK_THROUGH_FILE);
            if (offset_ < 0)
                throw Exception("Seek position is out of bounds. Offset: " + std::to_string(offset_), ErrorCodes::SEEK_POSITION_OUT_OF_BOUND);
            off_t current_offset = getOffset();
            if (!working_buffer.empty()
                && size_t(offset_) >= current_offset - working_buffer.size()
                && offset_ < current_offset)
            {
                pos = working_buffer.end() - (current_offset - offset_);
                assert(pos >= working_buffer.begin());
                assert(pos <= working_buffer.end());
                return getPosition();
            }
            auto position = getPosition();
            if (offset_ > position)
            {