Trigram string similarity for UNICODE and single byte character set strings

An initial implementation of the trigram similarity using child datasets.
The graphs for the performance tests I ran showed that MAP(...) was short cutting correctly.  I added the filters because I thought you were telling me not to trust the MAP(...) doing the right thing.  I will remove the filter.