Changed to Carette-specific method of getting genome-side position.

Wrote new get_Carette_pos_from_flanking_region_pos method, using that
instead of get_insertion_pos_from_flanking_region_pos; wrote unit-test,
passes.
Minor fix to prevent failure due to missing annotation.
Changed how min_weird_distance works to adjust for updated positions.

Now that the genome-side positions are counted from the start rather
than the end of the read, I just flipped how min_weird_distance works,
to require at least 20bp non-overlap by default (rather than allow at most
3bp overlap).  Note that the value should probably be specified,
depending on the read length.
Added option to only keep one "best" genome-side Carette read!

Implemented Insertional_mutant_Carette.improve_best_Carette_read method,
and added best_only flag to
Insertional_mutant_pool_dataset_Carette.add_Carette_genome_side_alignments_to_data
and implemented that.

Other minor:
 - some variable renaming (insertion_position to new_position when
   referring to Carette genome-side position)
 - rewrote/removed some outdated comments.
BUGFIX: fixed missing annotation bug!

There was a bit of half-implemented multiple-gene annotation code
that resulted in no annotation for any mutants in non-Carette datasets
(and annotation skipping multiple-mutant cases in Carette datasets).