Refactor KmerGraph creation

This PR includes general cleanup in kmer creation
- remove dead/unused code
- added spur removal
- simplified and separated out classes

I think this needs some more testing overall but I want to see a bit more how it'll be used.