Initial commit of a set of changes to improve Kairos Redis lookup performance:

1. Changed lookup code to use Redis SCAN operation instead of KEYS operations.  This prevents
a long query using conventional means from blocking other Redis clients indefinitely.

2. Added concept of indexing inserts.  You can register an indexer with the system which
will get called during bulk inserts. Later during lookups the index will be consulted to
determine which keys to return.  This is signficantly faster than the default SCAN/KEYS method
for precisely the same reason that using indexes on a database table is faster than a table
scan.

NOTE:  The current index implementation is a bit kludgey and needs refinement before a pull
request can be sent to the original author.  The current implementation uses the notion of
anonymous indexing on inserts, but later makes assumptions about the index object and treats
it like a Redis connection.  Additionally, we need to account for indexing in single inserts.
Finally, the notion of an index rollback needs to be added for completeness.