Moved build_analyzer(), search(), indexing (now called `indexer`) to a
class inside _kvlayer_keyword_indexing.py called `keyword_indexer`

Moved like keywords() to the same file.

Moved index naming and key building helper functions into
_kvlayer_table_names, so it can be used by both _kvlayer.py and
_kvlayer_keyword_indexing.py

For consistency changed the two other pre-existing index schemes to
Python constants.  You also might consider a shorter name for
hash_tf_doc_id_epoch_ticks --> hash_tf_sid

The search capability is sort-of-but-not-really separate from storing
things in kvlayer; on the one hand it is totally different from the
things we already do and adds complication; on the other we already
have two basic indexes and adding a more complex one is in the same
spirit.

The main() function is now in streamcorpus_pipeline/keywords.py with
the streamcorpus_pipeline_keywords entry point aimed at that.

check for valid index schemes is now in keyword_indexer.check_config,
not the constructor, and that is called by check_config in to_kvlayer

The keyword_indexer constructor now takes a kvlayer client object so
that you can run it from tests more easily.

Tests are more robust; More tests are needed.