VariantReader: fix deallocated memory access

converted string was going out of scope and getting destroyed, but its
internal buffer as returned by c_str() was continuing to be passed into
htslib's bcf_hdr_set_samples(), and eventually getting clobbered by new
memory allocations.

* add tests to for variants with missing genotypes

fixes #122

thanks @droazen and @lh3 for the help debugging this one.
The "keep all samples" syntax for us is really not adding a list of samples which goes to the other constructor that doesn't even call bcf_hdr_set_samples. That's why we never even saw that bug.

I've added a test for that awkward (and probably never used) case. Just in case.