handle String INFO fields with multiple values
Update writer unit tests to test call data equality

Samples written by the writer should have the exact same data before and after
they are parsed. Previously this was not tested, since call data equality
testing only checks for the sample name, genotype, and record (and not other
data fields).
Fix bug that removes sample data when GT field is not present

Some programs (e.g. bcftools) may output VCF files whose samples do not have its
GT field value. When dealing with files like these, PyVCF's writer will
(previously) remove all non-GT data and replace it with './.' since the
`_format_sample` function immediately returns upon failing to find GT data.

This fix addresses the issue, so that the Writer keeps any non-GT data intact.
Merge pull request #88 from bow/patch_writer-no-gt-field

Patch for Writer so it keeps non-GT data when writing records without GT data.
Merge pull request #87 from alimanfoo/master

support String type INFO fields with multiple values
Record with empty list of samples instead of None
Only write FORMAT if it is in the template

Also, don't write any additional tab characters at the end of the record.
Merge pull request #97 from martijnvermaat/no-format

Write files without FORMAT and genotypes (#95)
Adhere to `strict_whitespace` in parsing column headers

Fixes parsing of sample names with space characters in `strict_whitespace`
mode. Suggested by Lee Lichtenstein and Manaswi Gupta.
Forgot to add test file
Merge pull request #102 from martijnvermaat/column-headers-separator

Adhere to `strict_whitespace` in parsing column headers