Genotype: add convenience functions: snp, indel...

This is a tricky request from Louis which I anticipate to be a big hit
with the compbios. Everyone wants to query directly at the genotype what
kind of event it is. The problem is that doing so is expensive. One
should always strive to batch this kind of computation across all
samples using functionality like select_if or simple for_each loops.

However sometimes you want to just query one or two of these conditions
and it is nice to have such convenience functions. I strived here to
achieve as much performance as possible without increasing the state of
the Genotype object. To avoid string comparisons, all member functions
rely on an AlleleMask that pre-computes the string differences in the
alt/ref fields only once. All functions operate on key comparisons only.

Still, if you are going to use this for multiple comparisons such as:

```c++
if (genotype.insertion() || genotype.snp() && genotype.simple())
  do_something(genotype);
```

You will most likely be better off writing your own for loop instead of
paying for 3 passes on the data. But for quick queries in data with few
alleles (like diploids) this should be fine.

closes #204
Merge pull request #275 from broadinstitute/mc_snps_and_indels

Genotype: add convenience functions: snp, indel...
1. Modified SharedFieldIterator and IndividualFieldValueIterator to
handle bcf_*_vector_end values. This is done by passing the end value of
the pointer in the constructor and modifying the "==" operator of the
iterator. The idea is that 2 iterators x,y are equal iff
 (a) x and y are identical  OR
 (b) (x == end && *y == bcf_*_vector_end) || (y == end && *x == bcf_*_vector_end)
2. Inserted test case fields for variable length vectors
Modified behavior of SharedFieldIterator and
IndividualFieldValueIterator so that:
(a) Operators ++ and += advance to the end of the vector if the value at
the new iterator location is equal to bcf_*_vector_end.
(b) Operator == is same as the original
(c) Operators -- and -= unchanged
After rebase against master