Trigram string similarity for UNICODE and single byte character set strings

An initial implementation of the trigram similarity using child datasets.
This filter probably makes the code worse.  I would only add it if the short-circuiting of the MAP doesn't work.  You may need to look at the graphs to see if that is so.

If it is needed, defining:

all_grams := (l_tgrams + r_tgrams)(myfilter) would be better (allowing the normalize to be optimized).