Dataset summary properties: all genes, all genes with multiple mutants.

Added four properties to Dataset_summary_data: all_genes_in_dataset (
the set of all genes with at least one mutant in the dataset),
genes_with_multiple_mutants (the set of all genes with at TWO OR MORE
mutants in the dataset), N_genes_in_dataset and
N_genes_with_multiple_mutants (the lengths of the two above sets).

In Insertional_mutant_pool_dataset.print_summary, replaced the
_N_all_genes and _N_genes_in_multiple_mutants temporary functions with
those properties.

Also made a few minor formatting changes in
Insertional_mutant_pool_dataset.print_summary

All related tests pass as far as I can tell: mutant_count_alignments.py
run-tests pass; mutant_join_datasets.py run-tests fail on an unrelated
bug (probably from one of the previous commits - I'll have to fix that).
Unit-tests for mutant_analysis_classes.py, mutant_count_alignments.py
and mutant_join_datasets.py also pass, but they don't test this.
Mutant-joining run-test fixes (ignored those for months!) and comments.

I just realized that mutant_join_datasets.py run-tests were failing for
multiple reasons, related to commits from long ago.  Edited the run-test
reference output files as appropriate.  These tests haven't passed for a
while, so a lot of edits I made to the files were incomplete/etc...
Looks like the last time I tried overhauling mutant_join_datasets.py was
Oct 1 2012, when I fixed the first run-test (test_data/
join-datasets__basic.txt) but not the other two - I meant to fix the
other ones later, but apparently didn't.  I was busy with other things.

Note that the only changes were to the summary data, NOT single mutant
data.

Changes made to test_data/join-datasets__basic.txt, and code comments:

1) The question of whether discarded readcount subcategory numbers
in the summary should default to 0, 'unknown' or None when not given is
still unclear - for now I changed from 'unknown' to None in the test
data to make the tests pass (with an <IGNORE> line explaining that it's
a temporary fix), and put TODO comments in mutant_analysis_classes.py
and mutant_join_datasets.py for give it a closer look later.

2) Changed "(if we're including mutants in cassette and in non-nuclear
chromosomes)" for dataset2 from "(False, True)" to "(False, False)" - I
think I just switched the default for non-nuclear chromosomes in the
past and forgot to completely switch the test files, since they were
already not passing, so my edits to them didn't get checked properly.

3) added an <IGNORE> comment line to explain why only 1/3 mutants from
dataset1 are considered to have no mutant info, even though it was 3/3
before dataset-joining (it's because 2/3 mutants are also in dataset2
and they have gene info there).

Changes to test_data/join-datasets__other-order.txt and test_data/
join-datasets__with-names.txt only: those files were NOT fixed on the
Oct 1 commit and haven't passed tests for a long time, so I just copied
the summary data from the fixed test_data/join-datasets__basic.txt file
and adjusted as needed.

ALL TESTS PASS (although the issue with unknown vs None as discarded
read counts in summary is still outstanding, see TODO comments in main
code).