Add adaptive kmer selection

Signed-off-by: Michael Barton <mail@michaelbarton.me.uk>