Adding a function to give the canonical read name, defined as the
concatenation of the read group identifier and the read name.

DuplicateScoringStrategy: a class to help with picking a non-duplicate
from a set of candidate duplicates.

SAMRecordSetBuilder: many improvements to support more complex SAMRecord
creation.

Code cleanup in SortingCollectionTest

We are adding utilties to support Picard's MarkDuplicatesWithMateCigar,
   but put them here as they may be generally useful to folks.
   DiskBackedQueue: a queue for SAMRecords that stores the records in
   memory until a limit is reached, and then writes them to disk.  The
   queue returns records only when the consumer has set the given record
   as examined.  We also added other classes to support this utility.
Merge pull request #85 from samtools/bt_mark_duplicates

Bt mark duplicates
Fixes two issues related to compilation under jdk8:

1. make '-proc:none' the default for all compilation

Since cofoja is not used outside of 'variant', there is no need
for the processor to be run there (it had been excluded from
running in 'variant' as well to prevent contract processing).

Also, the version of cofoja used by htsjdk currently will not
run under java 8 due to api changes in oracle-private packages

2. compatibility with java 8 strictness regarding generics in poly expressions

see background in:
http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.25.3
http://stackoverflow.com/questions/22509488/generics-compilation-error-with-ternary-operator-in-java-8-but-not-in-java-7