Trigram string similarity for UNICODE and single byte character set strings

An initial implementation of the trigram similarity using child datasets.
Probably more efficient to calculate in 1 go.  Something like:

    total := TABLE(roll_rec, { value := 2 * SUM(GROUP, MIN(l_count, r_count)) / (SUM(GROUP, l_count) + SUM(GROUP, r_count)));
   value := total[1].value;

It should then be done by a single aggregate operation.