SamHeader: simple methods to get the sequence names and legths from the SAM header
Merge pull request #72 from broadinstitute/cww_sam_header_sequence_lengths

SamHeader: simple method to get the sequence length by sequence name fro...
Changed empty() type to bool in variant_field.h for consistency.
Merge pull request #73 from broadinstitute/bh_bool_empty_var_field

Changed empty() type to bool in variant_field.h for consistency.
Added "const" to begin(), end() and header() in variant_reader.h.
Merge pull request #74 from broadinstitute/bh_header_const_var_reader

Added "const" to begin(), end() and header() in variant_reader.h.
Added generic_{integer,float,string,boolean}_info_field methods.
Updated test_variants.vcf with new info annotations.
More use of auto, using iterator constructor, and template function for int32_t / float generic_info_field.
Fixed typo to use free instead of delete on malloc memory.
HTSLIB: rev up to account for many bug fixes in bcf api
Merge pull request #82 from broadinstitute/ks_info_field

Added generic_{integer,float,string,boolean}_info_field methods.
New has_format_field() checking if given format field in header.
New unit test to it.

changed name has_field() to has_format_field().

updated variant_header_test with has_format_field.

rev up htslib
Update README.md
Merge pull request #83 from broadinstitute/bh_has_field_var_header

Added function has_field() to test if given field is in vcf header.
SamBuilder, in-place setters, partial Sam tag support

-Created SamBuilder to build Sam objects from existing data or
 from scratch
    -unlike in-place setters in Sam class, can restructure and
     manipulate the variable-length read data in arbitrary ways
    -offers both repeatable builds and the option of a (slightly
     more efficient) one-time build
    -supports setting data fields using existing reads, vectors,
     initializer lists, and strings (least efficient)
    -basic validation of logical consistency of read before each
     build (eg., number of base qualities must match number of bases)

-In-place setters for data fields in the Sam class when more radical
 restructuring is not needed

-Basic support for Sam TAG:TYPE:VALUE fields
    -read-only support for integer, double/float, char, and string
     valued tags
    -can copy an existing read's tag in their entirety using SamBuilder,
     but can't yet set individual tags

-Cigar::make_cigar_element() to ease creation of vectors/initializer_lists
 of cigar elements

-Comprehensive tests for SamBuilder and SamTag

TODOS:

   -support for tag fields of type H (byte array) and B (numeric array)
   -add ability to set/modify individual tags in SamBuilder
   -properly set the core.isize field in SamBuilder (currently the
    only field not yet fully supported apart from the tags)
   -fix issue with htslib bam_aux2i() and bam_aux2f() return value
    ambiguity when field is of wrong type
Merge pull request #85 from broadinstitute/dr_sam_builder_and_tags

SamBuilder, in-place setters, partial Sam tag support
Variant: add filter field functionality

* add has_filter() to the public API
* add filters() member function to the public API
* add tests

closes #80
Merge pull request #86 from broadinstitute/mc_filter_field

Variant: add filter field functionality
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