Adapt i18n string and char comparison funcs for Unicode
* libguile/i18n.c (RUN_IN_LOCALE_SECTION) [USE_GNU_LOCALE_API]: new
macro for this define. Should work the same as the !USE_GNU_LOCAL_API
version
(SCM_STRING_TO_U32_BUF, SCM_U32_BUF_FREE): helper macros
(compare_u32_strings, compare_u32_strings_ci): new functions that
compare scheme strings in the presence of the locale
(u32_locale_casecoll): new helper function for compare_u32_strings_ci
(compare_strings, compare_strings_ci): removed and replaced by
compare_u32_strings and compare_u32_strings_ci
(scm_string_locale_lt, scm_string_locale_gt, scm_string_locale_ci_lt)
(scm_string_locale_ci_gt, scm_string_locale_ci_eq): modified to
use new compare_u32_strings and compare_u32_strings_ci comparison
functions
(scm_char_locale_lt, scm_char_locale_gt, scm_char_locale_ci_lt)
(scm_char_locale_ci_gt, scm_char_locale_ci_eq): modified to use
new compare_u32_strings and compare_u32_strings_ci comparison
functions