kmer indexing

VariantGraph can now generate a kmer index of itself, and this can be fed into
the Index. The API is there, but no command-line exists. That's next.

The approach is simple:

1. Enumerate bounded paths of the graph which start at a root node and extend
no more than N bp across neighboring nodes.
2. For each path, generate kmers and index by their relative start in nodes
which they overlap (this could be negative, for instance).
3. Once the index is generated, we can drop it into our leveldb store for
future querying.