First version of a large-memory fifo buffer class.
Modified Casava18ReadNameEncoder to correctly display filter status.  Previously it was treated as "passing filter" when in fact Illumina's intended meaning in the read name is "is filtered" (i.e. does *not* pass filter).  The enum for the field has also been renamed to more accurately reflect its content.
Correctly parse newer Illumina read names (since CASAVA 1.8)

While the default READ_NAME_REGEX will correctly parse both old and new
Illumina read names, the optimized parse using split() only correctly
parses old names.  Since the default regex is never actually used,
update the split()-method to detect the read name format and use the
appropriate indexes.

An incorrect parse leads to an overwhelmingly large amount of reads
having the same apparent tile and X coordinate, with only the Y coordinate
varying.  This, in turn, can cause massive slowdowns when identifying
optical duplicates when there are lots of duplicates in the file.

See <http://en.wikipedia.org/wiki/Fastq#Illumina_sequence_identifiers>.
Add an option to skip optical duplicate detection

It may be desirable (or necessary, time-wise) to skip this step when
there are a *lot* of duplicates.  The duplicate detection loop slows
down quick when the groups under consideration get too large.

Note that this will affect the accuracy of the library size estimate.
Short-circuit on already-marked duplicates in findOpticalDuplicates()

If an index is already marked as an optical duplicate, don't bother
checking if we should mark it as such again.  This only skips through
the inner loop, not the outer loop, so it's not a huge win.
Minor polishing of external pull request regarding optical dupe detection.
Eliminate separate option for suppressing optical dupe detection -- just set READ_NAME_REGEX to null to suppress.
Fix usage for READ_NAME_REGEX -- change field numbers to 1-based.
Add package-visible method to get number of optical dupes from MarkDuplicates object for testability.
Add unit test to confirm that null READ_NAME_REGEX works.
Add unit tests for both regular and casava 1.8 style read names.
Merge pull request #42 from broadinstitute/kt_fix_quality_score_encoding

Add harmonization of differing Quality Score Encoding schemes in the SAN...
Merge pull request #47 from broadinstitute/ts_optical-duplicate-detection

Optical duplicate detection optimizations
Merge pull request #46 from broadinstitute/tf_fifobuffer

First version of a large-memory fifo buffer class.
Fix oversight in SANITIZE block resulting in NPE if there's only one read group.
Merge pull request #48 from broadinstitute/kt_fix_quality_score_detection_npe

SANITIZE method did not properly handle the case when there was only one...
Modified MathUtil to have better named and more useful functions

added a unit test for the haplotypeProbabilities
Addressed changes requested by reviewer.
Merge pull request #49 from broadinstitute/yf_fingerprinting_rewrite

Modified MathUtil to have better named and more useful functions
moving CircularByteBuffer to its own class
Merge pull request #53 from broadinstitute/nh_circular_byte_buffer

moving CircularByteBuffer to its own class
adding a tool to convert BED files to Picard Interval Lists.
Merge pull request #50 from broadinstitute/nh_bed_to_interval_list

adding a tool to convert BED files to Picard Interval Lists.
adding the ability to add the full five fields when creating an interval
list from a BED
adding the strand and name when converting BED to interval_list