**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(393, THERE_IS_NO_QUERY) \
    M(394, QUERY_WAS_CANCELLED) \
    M(395, FUNCTION_THROW_IF_VALUE_IS_NON_ZERO) \
    M(396, TOO_MANY_ROWS_OR_BYTES) \
    M(397, QUERY_IS_NOT_SUPPORTED_IN_MATERIALIZED_VIEW) \
    M(398, UNKNOWN_MUTATION_COMMAND) \
    M(399, FORMAT_IS_NOT_SUITABLE_FOR_OUTPUT) \
    M(400, CANNOT_STAT) \
    M(401, FEATURE_IS_NOT_ENABLED_AT_BUILD_TIME) \
    M(402, CANNOT_IOSETUP) \
    M(403, INVALID_JOIN_ON_EXPRESSION) \
    M(404, BAD_ODBC_CONNECTION_STRING) \
    M(405, PARTITION_SIZE_EXCEEDS_MAX_DROP_SIZE_LIMIT) \
    M(406, TOP_AND_LIMIT_TOGETHER) \
    M(407, DECIMAL_OVERFLOW) \
    M(408, BAD_REQUEST_PARAMETER) \
    M(409, EXTERNAL_EXECUTABLE_NOT_FOUND) \
    M(410, EXTERNAL_SERVER_IS_NOT_RESPONDING) \
    M(411, PTHREAD_ERROR) \
    M(412, NETLINK_ERROR) \
    M(413, CANNOT_SET_SIGNAL_HANDLER) \
    M(415, ALL_REPLICAS_LOST) \
    M(416, REPLICA_STATUS_CHANGED) \
    M(417, EXPECTED_ALL_OR_ANY) \
    M(418, UNKNOWN_JOIN) \
    M(419, MULTIPLE_ASSIGNMENTS_TO_COLUMN) \
    M(420, CANNOT_UPDATE_COLUMN) \
    M(421, CANNOT_ADD_DIFFERENT_AGGREGATE_STATES) \
    M(422, UNSUPPORTED_URI_SCHEME) \
    M(423, CANNOT_GETTIMEOFDAY) \