initial work to enable kmer-based indexing of graph

This adds functions to generate bounded paths (paths of length <= N) starting
at a given node. With this (untested) functionality, it should be possible to
efficiently, and exhaustively, generate all paths of a given length in the
graph. These can then be used to generate kmers of length < the path length,
and index the graph on them.

Partially ordered approaches may be easier, but this pattern enables
application to non-DAG structures.