Merge manual argument parsing in ctx_thread.c and ctx_correct.c

read_thread_cmd.c:
- move ctx_thread.c and ctx_correct.c command line parsing to new file
- inputs are mostly the same for the two commands
- new struct bundles command line arguments for both commands together
- passing struct options for getopt allows turning arguments on/off

ctx_correct.c:
- parse own command line arguments using getopt_long()
- only permit loading a single graph file

ctx_thread.c:
- move arg parsing into read_thread_cmd.c

correct_read_input.c -> correct_aln_input.c
- rename since used in ctx_thread and ctx_correct

seq_output.c:
- create new struct + methods for writing se/pe FASTA files
- used in correct_reads.c
- used to be called CorrectedOutput

async_io_reader.c:
- return <out> path argument from e.g. --seq <in>:<out>

libs/Makefile:
- don't try to clean directories that aren't there