refactor (move CramRange class into its own file)
do not open more than one file at a time during header merging in BamCatHeader if construction is by list of read names
add constructor
- refactor merge template class
- construct merged header based on already open files when merging bam files
add streaming mode for BamCat class (in non streaming mode the
class will only ever open a single input file at a time thus
keeping the number of open file handles at a minimum, in
streaming mode the class opens all files at the same time,
but each file is only opened a single time, thus facilitating
the use of pipes as input channels for concatenation)
bump version after implementing streaming mode for bam concatenation
Merge branch 'experimental'