Subgraph can grab entire supernodes; Bug fixes for breakpoint_caller

Note: There are still outstanding bugs in the breakpoint caller

ctx_subgraph.c:
1. fixed bug causing total_cols to always be set to zero
2. changed command line usage for ctx_subgraph.c:
   - requires --dist <D> instead of taking <dist> <in.ctx>
   - added --supernodes to pull out entire supernodes touched by a read

subgraph.c:
0. renamed struct EdgeNodes -> SubgraphBuilder
1. added grab_supernodes option to pull out entire supernodes touched by a read
2. added tests for above feature in src/tests/subgraph_tests.c

kmer_occur.c:
1. Fixed BUG: split ref sequences at Ns when loading
2. Fixed BUG: array resizing bug in kmer_occur that was causing an out-of-bounds
              warning from valgrind

graph_crawler_tests.c:
1. Added tests which identified and fixed bugs in:
   - graph_cache.c
   - graph_crawler.c

breakpoint_caller.c:
1. fixed BUG: next_nodes incorrect indexing due to removing next nodes that are
              in the ref