pgindent
Add options for hashkey, listkey, setkey and zsetkey.

They don't do anything yet ...
working hashkey
Revert "working hashkey"

This reverts commit a4d1c22b336a3f87f1abc379b4a1a2f9239ca32d.
Revert "Add options for hashkey, listkey, setkey and zsetkey."

This reverts commit 4881455b8d190793892566381fff22c976d41056.
Add tablekeyprefix, tablekeyset and table_type options.

These let us query redis structured types (table_type can be
hash, list, set, or zset - if none is specified the type is set
to scalar, i.e. we're not looking for a structured type). They also
let us specify that we're only examining a portion of the redis
keyspace. If tablekeyset is specified, then the valid keys for
the table are the members of the named set. Otherwise, if
tablekeyprefix is set then only keys beginning with the given
value will be examined. If your redis database is very large,
using a key set will be more efficient than using a key prefix.

Structured data is returned as an SQL array literal if the table's
value column is text, or as an actual array if it's of type text[].
For hash tables, this array is a sequence of key value pairs. For
other table types it's a sequence of values.

Scalar data continues to be returned as plain text.
Ready for release.

Some code cleanup, Added docs and tests.