Reapply BAM changes

[Tracking bug 25700]

[git-p4: depot-paths = "//depot/software/smrtanalysis/bioinformatics/tools/GenomicConsensus/": change = 141602]
Get the `bam2` branch working with the current BAM spec

[Tracking bug 25700]

[git-p4: depot-paths = "//depot/software/smrtanalysis/bioinformatics/tools/GenomicConsensus/": change = 141603]
Fix tests

[Tracking bug 25700]

[git-p4: depot-paths = "//depot/software/smrtanalysis/bioinformatics/tools/GenomicConsensus/": change = 141604]
Implicitly disable fancyChunking for BAM

[Tracking bug 25700]

[git-p4: depot-paths = "//depot/software/smrtanalysis/bioinformatics/tools/GenomicConsensus/": change = 141605]
Fix parsing of DS with trailing ';'

[Tracking bug 25700]

[git-p4: depot-paths = "//depot/software/smrtanalysis/bioinformatics/tools/GenomicConsensus/": change = 141649]
BAM/quiver: Fix copy-and-paste error

[Tracking bug 25700]
BAM/Quiver: Remove cruft; implement position accessors

[Tracking bug 25700]
BAM/Quiver: Decorators for gating on having reference, index

[Tracking bug 25700]
BAM/Quiver: Tests

[Tracking bug 25700]
BAM/Quiver: fix test, check that `orientation` has a correct value.

Also factor gapify more cleanly.

[Tracking bug 25700]
BAM/Quiver: Get reference() working

[Tracking bug 25700]
BAM/Quiver: Get clipping working again

[Tracking bug 25700]
BAM/Quiver: Get clipping working again.

I have just cribbed the clipping logic from CmpH5IO, but it operates
in terms of the unrolled cigar instead of the alnarray.  There is a
natural parity between the alnarray and the unrolled cigar, which we
could exploit for better factoring at some point.

[Tracking bug 25700]
BAM/Quiver: Get "transcript" working

[Tracking bug 25700]
BAM/Quiver: Fix readLength

[Tracking bug 25700]
BAM/Quiver: printing works

[Tracking bug 25700]
Quiver/BAM: need to reset before iteration

[Tracking bug 25700]
BAM/Quiver: Set referenceFasta to None initially

[Tracking bug 25700]
BAM/Quiver: draft of makePbi tool

[Tracking bug 25700]
BAM/Quiver: make read group ID a uint32

We do so by taking the first 8 nibbles of the hex digest from BLASR,
casting to int.  This should be durable but Marcus is fixing BLASR to
output only 8 nibbles, so uniqueness could be asserted there.

[Tracking bug 25700]