This code has been extracted from a client project where it is no longer useful. It is missing several dependencies and uses a linear scan algorithm which is not appropriate for huge data sets. The code is being published for reference purposes, but might some day be packaged fully enough for CPAN usage.