Trigram string similarity for UNICODE and single byte character set strings

An initial implementation of the trigram similarity using child datasets.
If the string lengths are zero, the work will end after only a trivial amount of set up.  It is not clear what you mean on structuring slightly differently.  I can put a guard on the datasets like ds(LENGTH(l_str) + LENGTH(r_str) >= 5000) to force the datasets to be empty.  Is that what you mean?