Add test cases for uncalled genotypes support

* Remember the ploidity of uncalled genotypes such that
  the sample genotypes written by PyVCF.Writer match the
  sample genotypes read by PyVCF.Reader.
* For uncalled _Calls, gt_nums and gt_bases are None;
  gt_alleles is a list of "None" with a length of _Call.ploidity.
Close file handles in TestUncalledGenotypes tests

Warning about open file handles muddle the output of unit tests
and are a potentially confusing factor to those interpreting
the tests.
Add support for uncalled genotypes
Simplify _format_sample logic

The sample.data.GT attribute is no longer set to None for
uncalled calls, which means that _format_sample can now
rely on obtaining the original sample genotype.
Merge pull request #179 from amwenger/amw-uncalled-genotypes-support

Uncalled genotypes support