Trigram string similarity for UNICODE and single byte character set strings

An initial implementation of the trigram similarity using child datasets.
I do not think that the function should perform a TRIM(...)  The user is expected to have perfromed any string normalization before the call.