Improvements to option to only keep one "best" genome-side Carette read.

Bugfixes and refactoring, based on work with real data and comparing the
max-confirmed-distance results of the "best-read-only" version (using
improve_best_Carette_read) to the version that keeps all genome-side
reads (using add_Carette_read).

Added unit-tests; they pass.