add virtual destructor
add unique pointer types for BamWriter classes