Updated simulation makefiles [skip CI]
Reduce ctx-sort memory; rename readbuf_X() -> read_buf_X()
Bug fixes for ctx-sort and ctx-correct

BUG fixes:

1. Fix bug in ctx_sort.c for k > 31. We were not sorting by words after the first
   word in BinaryKmers.

2. ctx_sort.c should take the -f,--force command line option

3. correct_alignment.c was not setting aln->seq_gaps boolean properly. This was
   causing Ns in sequence to not trigger aln->seq_gaps to be true.

4. Try to get the username with getpwuid_r() if getlogin_r() fails

Improvements:

1. correct_reads.c: report number of gaps + num gaps filled

2. simplify db_alignment_print(aln) code - cleaner output for debugging
Added uniqkmers command

ctx_uniqkmers.c: `ctx31 uniqkmers` prints unique kmers. Useful for lossless
  storage of sequence where unique kmers are needed at flanks.

BUG FIXES

1. src/graph/binary_kmer.c: Fixed BUG in binary_kmer_random() function.
   rand() only returns 31 bits of random data, we were assuming it was 32.

2. Fix tests which were assuming binary_kmer_random() was returning kmer-keys
Fix BUG: undefined behaviour for k=33
Forgot to add ctx_uniqkmers.c file
Fix BUG in dna_revcomp_str() and merge similar functions
Dump contig size distributions with ctx_thread.c

ctx_thread.c and ctx_correct.c can now dump contig size distributions

ctx_join.c: Fix BUG in joining files that do not require loading the whole graph
contig confidence given threaded distribution

ctx_thread.c can now dump csv of read lengths - only stored if dump requested
ctx_contigs.c can now load csv and calculate confidence table from it
Fixed uniqkmers to properly add unique flanking kmers. Added lossless test.
Try using master branch on htslib/bcftools/samtools
ctx_correct.c: add option --print-orig

1. ctx_correct.c: added -P,--print-orig option to add original sequence to
   read name:

   >read1 orig=CAGATGAGTT
   CAGATGACTT

2. graph_step.h: Add graph walker statuses:
 * GRPHWLK_POPFWD         --  Success: fall back to pop, only one choice
 * GRPHWLK_POPFRK_COLFWD  --  Success: fork in pop, only one choice in colour

3. PhiX/about.txt: add readme on data source for empirical read error distribution

4. split out assembly statistics to assemble_stats.{c,h}

5. assemble_contigs.c: Fix graph walker status counting in contig assembly:
   path decisions were being recorded before we have decided to keep contig.

6. assemble_contigs.c: record number of contigs halted by RepeatWalker
Change all Makefiles to specify SHELL as bash with strict mode