(RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
multibte. Callers changed.
(RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
(MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Deleted. Callers
changed to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE
respectively.
(SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
(SETUP_MULTIBYTE_RANGE): Generate more compact range_table.
(regex_compile): Make the compiled pattern usable both for
multibyte and unibyte targets.
(analyse_first): Make the fastmap usable both for multibyte and
unibyte targets.
(TRANSLATE_VIA_MULTIBYTE): Deleted.
(re_match_2_internal): Pay attention to the case that the
multibyteness of bufp and target may be different.