Added option of NOT doing IB clustering.

Changed infile order to add_RISCC_alignment_files_to_data so that the IB
cluster file is last, since it's now optional.

Current unit-tests and run-tests (the ones with clustering) pass; TODO
write tests for no clustering!
Removed old unused reference_data folder.
Added no-clustering tests; minor changes.

In test__add_RISCC_alignment_files_to_data, added no-clustering test
case - only checking very simple stuff.
Also added no-clustering run-test case in do_test_run - that tests all
the details.  Added new test_data/count-aln__basic-3prime-outward_no-clust*
files for it.

The test_data/count-aln__basic-3prime-outward_clust* files are identical
to the old test_data/count-aln__basic-3prime-outward* files, I just
forgot to do git mv on them.

Minor functionality changes to make passing tests easier:
 - indented the IB_seq_to_centroid line to avoid error when it's absent
 - changed mutant _get_main_sequence_from_data so that if two sequences
   have the same count, it returns the alphabetically first one.
 - when sorting mutant data by position and two mutants have the same
   positon (but different IBs), order them by IB; also add IBs to the
   sort when sorting by readcount and the readcounts and positions are
   same.

In do_test_run, changed infile order to reflect the changes from two
commits back, and commented out old currently unused stuff.

Unit-tests and run-tests pass.
Split genome-side read dict into aligned (by pos) and unalined (by seq).

In Insertional_mutant, replaced single RISCC_genome_side_reads dict with
RISCC_genome_side_aligned_reads (with positions as keys) and
RISCC_genome_side_unaligned_reads (with seqs as keys).
Changed the third item in each value of both dicts from N_errors to a
seq:(read_count, N_errors) dict.

Adjusted Insertional_mutant and Insertional_mutant_pool_dataset
functions and unit-tests to work with the new structure.  Updated
docstrings/comments.

In Insertional_mutant, renamed all RISCC_N_*_reads functions/properties
to RISCC_N_*_seqs, which is more accurate - they're counting unique
alignment positions (when aligned) or sequences (when unaligned), NOT
single reads - there can be may reads per seq/position.   Updated
docstrings/comments.  Adjusted Insertional_mutant and
Insertional_mutant_pool_dataset functions and unit-tests to work with
the new structure.
Adjusted the wording in info printed by RISCC_print_detail; adjusted the
run-test reference files to use new wording, but didn't change any
numbers in them.

All unit-tests (mutant_IB_RISCC_classes.py) and run-tests
(mutant_count_aln_IB+RISCC.py -T) pass.