Merged changes from upstream/master

Remove the GPG Maven plugin

We can sign our artifacts manually instead. This plugin appears to
require users to sign artifacts to even install ADAM in their local
Maven repository.

Reverting cfcdd344a226eb362cf0b036a0fd8854e1be0b6f to fix build for Spark using Hadoop 1.0.4.

Added better debugging output for serialization errors.

GenomicRegionParititioner is a partitioner for ReferencePosition-keyed RDDs.

The GenomicRegionPartitioner divides the total sequence indicated by a SequenceDictionary
into N pieces of equal size, and allows partitioning of RDD[(ReferencePosition, _)] into
region-coherent chunks.

ReferenceRegion represents a contiguous genomic region.

ReferenceRegion is a model representing a contiguous region of a single reference sequence.
I imagine using RR for:
- interval lists representing the target set in exome or gene panel sequencing
- a base for extending to support reference annotations
- binding events in ChIP-seq
- arbitrary "regions of interest" determined as an intermediate result during other calculations.

Anyway, we should have one base model supporting a lot of the common operations of interest
for regions in general.

Added support for Kryo serialization.

Indluded methods for calculating distance and overlap.
do-not-include! Downgrade hadoop to 1.0.4
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 GBComparisons [Carl, that probably needs to change its name...], 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.
Re-implementation of CombinedGenerator and CombinedAggregator.
Removing the serialization directive in the CTE.
Updating the CLI commands.
Made CombinedComparisons Serializable.
Fix to mark duplicates
Fix to comparisons suite
Allow find to write a file
Rnamed GBComparisons -> DefaultComparisons, pulled out the inner objects.
Added test for ComparisonTraversalEngine.generate

Updated the CTE to have a new constructor that just takes RDDs, since we (apparently) have a problem with running the recursive adam load method
in a test environment at the moment.
Added test for ComparisonTraversalEngine.combine
Added AdamContext.referenceLengthFromCigar
Convenience method to create a projection from an Iterable[FieldValue].
Added the TrackedLayout class.
Added filterByOverlappingRegion to AdamRDDFunctions
Added the VizReads tool to CLI.

VizReads is a tool for interactive or static visualization of aligned reads along the genome.