VariantReader: add subsetting samples constructor

you can now use this iterator to discard samples in your iteration (this
significantly speeds up iteration over a vcf and bcf file.

* add test case for sites only vcf
* add test case for different levels of subsetting
VariantField: fix size() member function for sites with no genotypes

closes #88
Merge pull request #90 from broadinstitute/mc_sites_only_variant_reader

VariantReader: add subsetting samples constructor