VariantBuilder (for initial review)

This gave me some pain, but after a review of the htslib codebase I'm convinced it will never add more than 1 extraneous null byte, but will sometimes call realloc() if there isn't an extra space after that extra null byte. So it really only ever needs 2 extra bytes -- I am being extra-cautious by giving it 4, since the consequences of a realloc() on this memory would be undefined.