Force nul termination of the kstr holding the CRAM index so that
sscanf doesn't attempt to check beyond the bounds of the string
memory.

On correctly formatted indices it has no need to do this (but
apparently does), but the fix is necessary anyway in order to be
robust on invalid indices.
Ensure hand-made kstring is NUL-terminated

The kputsn()s used to load the file into memory do NUL-terminate (like
most other kstring functions), so we only need to ensure this by hand
for the hand-made kstring made from zlib_mem_inflate().
Ensure items to be installed are built and up-to-date

Fixes #125.
vcf: Output "." not "nan" in scalar INFO fields
vcf: separate header lookup from field getter

Create two alternatives to bcf_get_info and bcf_get_fmt allowing the
user to query the header id for the tag once and then accessing the
fields directly using index lookups.  Modified the two existing
functions to use the index lookups so we don't repeat functionality.

Added the following functions to the public API:
```c
bcf_get_fmt_id (bcf_t* line, const int id)
bcf_get_info (bcf_t* line, const int id)
```
Merge pull request #127 from broadinstitute/broad_header_lookup

vcf: separate header lookup from field getter
Merge pull request #124 from dpryan79/develop

Make hts_idx_push no longer return 0 after the first unmapped read. This...