Currently binary marshaller encodes strings in UTF-8. However, sometimes it makes sense to serialize strings with different encodings to save space. Let's add global property to control String encoding and customize our binary protocol to support it. For instance, we can add another flag ENCODED_STRING, which will write strings as follows:
First implementation should set preferred encoding for strings in BinaryConfiguration. This setting is optional, default encoding is UTF-8. Currently, the same BinaryConfiguration is used for all cluster nodes, thus no encoding clashes are possible.