Trigram string similarity for UNICODE and single byte character set strings

An initial implementation of the trigram similarity using child datasets.
This is a bit trickier that one would expect.  The TRIM(...) function is too aggressive as it removes all of the characters in the whitespace class.  I think that I need to replace the use of the LENGTH function with a different function that calculates the length the same as the quick version.