**Use case**
Text preprocessing and matching inside ClickHouse.

**Describe the solution you'd like**
Wrap functions from `icu` library. The functions should work on UTF-8 data.

**Additional context**
See also a sibling task: #17182.

M(517, CANNOT_ASSIGN_ALTER) \
    M(518, CANNOT_COMMIT_OFFSET) \
    M(519, NO_REMOTE_SHARD_AVAILABLE) \
    M(520, CANNOT_DETACH_DICTIONARY_AS_TABLE) \
    M(521, ATOMIC_RENAME_FAIL) \
    M(523, UNKNOWN_ROW_POLICY) \
    M(524, ALTER_OF_COLUMN_IS_FORBIDDEN) \
    M(525, INCORRECT_DISK_INDEX) \
    M(527, NO_SUITABLE_FUNCTION_IMPLEMENTATION) \
    M(528, CASSANDRA_INTERNAL_ERROR) \
    M(529, NOT_A_LEADER) \
    M(530, CANNOT_CONNECT_RABBITMQ) \
    M(531, CANNOT_FSTAT) \
    M(532, LDAP_ERROR) \
    M(533, INCONSISTENT_RESERVATIONS) \
    M(534, NO_RESERVATIONS_PROVIDED) \
    M(535, UNKNOWN_RAID_TYPE) \
    M(536, CANNOT_RESTORE_FROM_FIELD_DUMP) \
    M(537, ILLEGAL_MYSQL_VARIABLE) \
    M(538, MYSQL_SYNTAX_ERROR) \
    M(539, CANNOT_BIND_RABBITMQ_EXCHANGE) \
    M(540, CANNOT_DECLARE_RABBITMQ_EXCHANGE) \
    M(541, CANNOT_CREATE_RABBITMQ_QUEUE_BINDING) \
    M(542, CANNOT_REMOVE_RABBITMQ_EXCHANGE) \
    M(543, UNKNOWN_MYSQL_DATATYPES_SUPPORT_LEVEL) \
    M(544, ROW_AND_ROWS_TOGETHER) \
    M(545, FIRST_AND_NEXT_TOGETHER) \
    M(546, NO_ROW_DELIMITER) \
    M(547, INVALID_RAID_TYPE) \
    M(548, UNKNOWN_VOLUME) \