Add a split_s3 kvlayer backend.

Configure this with AWS access credentials, an S3 bucket name, a list
of kvlayer table names, and another kvlayer backend configuration.
For the named tables, values will be stored as S3 objects and keys in
the corresponding kvlayer table in the other backend; all other tables
will be stored directly in the other table.

The idea here is to reduce the space requirements for a "traditional"
database, like PostgreSQL, by moving large objects out of the database;
for instance, the {'stream_items': 2} table created by the
streamcorpus_pipeline to_kvlayer writer stores compressed Thrift-serialized
binary objects in kvlayer, so this would store the keys in e.g. PostgreSQL
and the chunk objects in S3.