treat 0 returned from bam_iter_read as success
hash char* directly instead of creating std::string for RGs
save warnings and summarize them at the end.