New plot: max confirmed distance vs % confirming reads scatterplot.

Tested on real data, works.
Added mutant-filtering option to plot_confirmed_dist_vs_percent.
Added xlim max option to plot_confirmed_dist_vs_percent.

Tested on real data, works. (Same for last commit.)
Mutants with only non-conf reads have max-conf-dist 0; code cleanup.

1) Changed the max_confirmed_distance behavior:
Previously it was always NaN if there were no confirming reads, now it's
NaN if there are no uniquely aligned Carette genome-side reads
(confirming or not), and 0 if there are no confirming but some
non-confirming. This makes more sense, and makes it easier to
process/categorize the mutants later. (The change was prompted by
analysis problems on real data.)

2) Cleaned up dealing with unaligned/multi-aligned Carette genome-side
reads: Added constants for unaligned/multi-aligned positions instead of
using strings.  Changed get_Carette_pos_from_flanking_region_pos to
check that the position is one of those or an Insertion_position.
Changed the rest of the code to use the constants.

Updated unit-tests to use the new setup; added some to test 1 properly.
All pass.
BUGFIX for plot: >= instead of > for readcount min, default=0 not 1!

Two changes in plot_confirmed_dist_vs_percent:
1) bugfix to make the filter take all mutants with >= min_reads, instead
of just >!
2) changed default min_conf_reads from 1 to 0, now that I changed the
way the max conf dist is calculated so that it can be a number (0) if
there are 0 conf reads but some non-conf ones. (That was done in the
previous commit).
Minor bugfix: enable printing detail files with gene annotation missing.
Added print_data for Carette mutants, with relevant Carette info.
Added convenience hot/coldspot function.
Added options to insertion_density_by_feature.

Added option to make the y scale relative to the "all" value instead of
absolute mutants per kb, option to add a line at y=1, exclude multiple
splice variants.
Rewrote docstring.
Modified the way ylim, yticks and ylabel are set to fit the new options.

Tested on real data, works.
Bugfixes, cleanup, added test.

Cleanup:
 - made HEADER_FIELDS_v4 and HEADER_FIELDS_v5 into top-level constants
 - updated docstring and comments
 - added a bit of printed data and some error checks
 - restructured file to run unit-tests if module is run directly

Bugfix: all fields were being unnecessarily padded to the original max
data length, rather than to the data length after removing some columns
etc. Fixed that by using final_data_length.

Added unit-test for the v5 genome file, using new input file
test_data/INPUT_annotation_file_v5.txt. Test passes.
Added min_value_to_plot command-line option; other minor.

Added min_value_to_plot option to plot_all_correlations and to the
command-line options (previously it existed but was a variable set by
hand, named min_val_to_plot).

Made the code not calculate a correlation for <3 numbers, since that
makes no real sense.

Tested on some test data, seems to work.