Add spec for Regexp.union with UTF-8 encoding
Use character based offsets for regexp processing

Fixes #2401