Picard GenotypeConcordance tool
Uses new Genotype Concordance classification scheme
Exports summary and metrics files
fuller unit test coverageg.
modified logic of determine state.
Results of code review:
 - changing logic of use of using VCF Index.
 - consolidating some logic, renaming variables and better comment
 - distinguishing between VariantContext.isMixed and Genotype.isMixed (entirely different).
 - added new Truth/Call State "Missing" and divided "Filter" into vc_filter and gt_filter

Results of code review:
- Improvements to metrics file
- Have GenotypeConcordanceCounts use Histogram
- Improvements to unit tests
Moved CollectHiSeqPfFailMetrics into picard public
Merge pull request #88 from broadinstitute/yf_move_PFFail_to_public

Moved CollectHiSeqPfFailMetrics into picard public
Merge pull request #84 from broadinstitute/gg_genotype_concordance

New Picard Genotype Concordance CLP:
Calculates the concordance between genotype data for two samples in two different VCFs - one being considered the truth (or reference) the other being considered the call.  The concordance is broken into separate results sections for SNPs and indels.  Summary and detailed statistics are reported

Note that for any pair of variants to compare, only the alleles for the samples under interrogation are considered and MNP, Symbolic, and Mixed classes of variants are not included.
- removing unnecessary storage of a string in the Read Ends in Mark
Duplicates
- clarifying the size of ReadEndsForMarkDuplicates
Merge pull request #89 from broadinstitute/nh_remove_uncessessary_mark_duplicates_storing_read_name

- removing unnecessary storage of a string in the Read Ends in Mark
This makes a fundamental change to how we run Picard.  We now have a
single JAR (command line program), rather than multiple JAR (one per
tool). In this brave new world, the single command line program is given
the the command line program name (ex. SamView) to specify which tool to
run.  We also provide a convenient summary of all of the tools
available.

For the developers, we add a facility to add new command line programs
to the single JAR, by extending the PicardCommandLine and adding the
package name(s) for us to search for classes that extend
CommandLineProgram.  The usage is now put in
CommandLineProgramProperties, where we can also specify short usages
(for the summary help message), program versions, and program groups.
The latter is useful for grouping tools that operate on common filetypes
or have similar function (ex. SAM/BAM).

We made a number of new tools public, coming from our internal toolset.
These include: BaitDesigner, CalculateReadGroupChecksum, CheckTerminatorBlock,
CollectIlluminaBasecallingMetrics, CollectIlluminaLaneMetrics,
CollectJumpingLibraryMetrics, CollectOxoGMetrics,
CollectQualityYieldMetrics, CollectRrbsMetrics, GatherVcfs,
LiftOverIntervalList, ScatterIntervalsByNs, and SplitSamByLibrary.
These may prove useful, or not.

Enjoy!