Further changes to the DiskBackedQueue. Added a flag to SAMRecord

DiskBackedQueue now appropriately implements a queue. Added
improvements and additional cases to the unit test. Unit tests
pass.

Added a TemporaryDuplicateMarkedFlag to SAMRecord. This is set
temporarily during Picard-public MarkDuplicatesWithMateCigar to
indicate that a record is available for emission from the algorithm.
For use with in-memory records that are never spilled to disk.