**Use case**
ClickHouse as a web server becomes a viable scenario.
(At least in backoffice).

**Describe the solution you'd like**
Add this field.

**Additional context**
It's in question how to name it. The original HTTP specs has the famous typo in it and name it `referer`. While JavaScript has this typo fixed and name it `referrer`.

#include <Interpreters/ClientInfo.h>
#include <IO/ReadBuffer.h>
#include <IO/WriteBuffer.h>
#include <IO/ReadHelpers.h>
#include <IO/WriteHelpers.h>
#include <Core/Defines.h>
#include <common/getFQDNOrHostName.h>
#include <unistd.h>
#if !defined(ARCADIA_BUILD)
#    include <Common/config_version.h>
#endif
namespace DB
{
namespace ErrorCodes
{
    extern const int LOGICAL_ERROR;
}
void ClientInfo::write(WriteBuffer & out, const UInt64 server_protocol_revision) const