Adding quantitative comparisons to CompareAdam

This is a major update and extension to the "comparison" framework in CompareAdam.

First, an extension to CompareAdam has been created, that allows for interchangeable "generators" of
pairwise read-comparison metrics.  We've added our own implementations of a few basic metrics, found
in DefaultComparisons, for things like duplicate flags, position of alignment, base qualities, and map
qualities.  These metrics are then aggregated using an aggregator (of which the HistogramAggregator
is the prominent example at the moment).

CompareAdam now runs a set of these metrics over the reads from a given pair of files, and writes output
suitable for graphical report generation using the plots.R script.

The code for this traversal-and-metric-generation has been oved to a class in adam-core, called
ComparisonTraversalEngine.

Finally, a new CLI tool has been added, "find_reads", supported by the class FindReads.  The find_reads
command is written to facilitate diagnostics on ADAM files which differ in one or more metrics.  It takes a
pair of ADAM files, the names of one or more generators, and filter expressions on each of those generators, and produces the set of read names from the pair of files whose generated metric values fall within the corresponding filters.