**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(361, SEEK_POSITION_OUT_OF_BOUND) \
    M(362, CURRENT_WRITE_BUFFER_IS_EXHAUSTED) \
    M(363, CANNOT_CREATE_IO_BUFFER) \
    M(364, RECEIVED_ERROR_TOO_MANY_REQUESTS) \
    M(366, SIZES_OF_NESTED_COLUMNS_ARE_INCONSISTENT) \
    M(367, TOO_MANY_FETCHES) \
    M(369, ALL_REPLICAS_ARE_STALE) \
    M(370, DATA_TYPE_CANNOT_BE_USED_IN_TABLES) \
    M(371, INCONSISTENT_CLUSTER_DEFINITION) \
    M(372, SESSION_NOT_FOUND) \
    M(373, SESSION_IS_LOCKED) \
    M(374, INVALID_SESSION_TIMEOUT) \
    M(375, CANNOT_DLOPEN) \
    M(376, CANNOT_PARSE_UUID) \
    M(377, ILLEGAL_SYNTAX_FOR_DATA_TYPE) \
    M(378, DATA_TYPE_CANNOT_HAVE_ARGUMENTS) \
    M(379, UNKNOWN_STATUS_OF_DISTRIBUTED_DDL_TASK) \
    M(380, CANNOT_KILL) \
    M(381, HTTP_LENGTH_REQUIRED) \
    M(382, CANNOT_LOAD_CATBOOST_MODEL) \
    M(383, CANNOT_APPLY_CATBOOST_MODEL) \
    M(384, PART_IS_TEMPORARILY_LOCKED) \
    M(385, MULTIPLE_STREAMS_REQUIRED) \
    M(386, NO_COMMON_TYPE) \
    M(387, DICTIONARY_ALREADY_EXISTS) \
    M(388, CANNOT_ASSIGN_OPTIMIZE) \
    M(389, INSERT_WAS_DEDUPLICATED) \
    M(390, CANNOT_GET_CREATE_TABLE_QUERY) \
    M(391, EXTERNAL_LIBRARY_ERROR) \
    M(392, QUERY_IS_PROHIBITED) \