1. Modified vcf_parse to update rlen only when an END INFO tag is seen -

Issue: https://github.com/broadinstitute/gamgee/issues/191
1. Modified vcf_parse to update rlen only when an END INFO tag is seen -the END tag is NOT encoded into v->shared.s
2. Modified vcf_write to add END INFO tag if required

Sorry for the mixed messages and confusion.  I was just talking with @eitanbanks and @rpoplin and we now have a definitive answer here.

All reference blocks have exactly one alt allele, and that alt allele is `<NON_REF>` (or as this discussion revealed, `<X>`, but let's talk about that later)

Reference blocks may have references of any length, and that length may or may not be the same as (END - start + 1).

So: no test based on rlen vs. length(ref) will work, and the correct test to determine if we have a reference block is:
```
if(v->n_allele == 2 && (strcmp(v->d.allele[1], "<NON_REF>") == 0))
```

It is also possible to have `<NON_REF>` in the case where it is NOT a reference block.