Fixes to pileup code.
Added function for building variant context from genotypes.
Adding indel realignment transform.

Composed of several steps:
* Targets for realignment are generated
* Realignment candidates are generated using the reads at the target site
* If candidates lead to a sufficient improvement, reads are realigned
Merge pull request #88 from bigdatagenomics/variant-context-from-genotypes

Added function for building variant context from genotypes.
Merge pull request #86 from bigdatagenomics/pileup-reference-position

Fixes to pileup code
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.
increase usage width to 150 characters
Merge pull request #91 from heuermh/usage-width

Minor change, increase adam-cli usage width to 150 characters
Adding ability to convert reference FASTA files for nucleotide sequences.
Merge pull request #79 from bigdatagenomics/fasta

Adding ability to convert reference FASTA files for nucleotide sequences
Cleaning up variant context code to ease conversion.
Add initial documentation on contributing
Merge pull request #105 from bigdatagenomics/matt-contributing

Add initial documentation on contributing
Encoding tag types in the ADAMRecord attributes, adding the 'tags' command.

This commit fixes issue 92 (https://github.com/bigdatagenomics/adam/issues/92).

The old style of encoding the "optional fields" from the SAM/BAM was to store
them as key=value pairs in the ADAMRecord.attributes string. However, this
loses information about the _type_ of the tag/value, which is necessary if
we want to reconstruct the original value type (for example, for re-exporting
BAM files from ADAM files).

This update is non-backwards-compatible, changing the format of the attributes
field to tag:type:value and introducing a new Attribute class for parsing and
handling these values.  It also adds functions to AdamRDDFunctions to allow for
filtering and subsetting of reads based on their tags, or to count the number of
distinct tags or tag-values across a set of reads.
Merge pull request #99 from genomebridge/attributeParser

Encoding tag types in the ADAMRecord attributes, adding the 'tags' command
Cleaning up change documentation.
Merge pull request #107 from fnothaft/cleanup-change-docs

Cleaning up change documentation.
Added the spark.driver.port erasure to SparkFunSuite cleanup.

We've been getting intermittent errors, with respect to Spark being unable to bind to a port,
in the context of repeated unit tests.  This apparently is a known problem, see the thread here:
  http://blog.quantifind.com/posts/spark-unit-test/
and the follow-up from Matei here:
  https://groups.google.com/forum/#!topic/spark-users/MeVzgoJXm8I

The upshot is that we need to clearProperty('spark.driver.port') when we shut down our sparkContext
after a sparkTest.
Merge pull request #104 from genomebridge/tdanford/sparkfunsuite-port

Added the port erasure to SparkFunSuite's cleanup.
New PluginExecutor command

- A plugin class can be defined outside of the Adam jar, but run through
  the normal AdamMain
- An example plugin, the "Take10Plugin" is included in the test
  directory
- Adds a test suite to the cli module, which can reference the items
  available in the core module
- Adds notion of AccessControl to control the records which can be
  accessed