Trigram string similarity for UNICODE and single byte character set strings

An initial implementation of the trigram similarity using child datasets.
This function doesn't trim, but the quick variety does.  Should probably be consistent