add support for detecting Picard-style naming of bam indexes

Picard and GATK generate .bam/.bai rather than .bam/.bam.bai index names.

This commit adds functionality which checks if .bam.bai exists, and if not
falls back .bai (or .bam.bti).