Set explicit REF_PATH to make tests self-contained

Set REF_PATH to an empty value (but not the empty string, as that
produces the default setting), or in general to point within the test
suite, for tests that exercise it -- currently just test_view.pl.

This makes the test suite self-contained for reference areas, and
in particular prevents travis build testing from trying to access
the EBI reference server.
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: 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_idx (bcf_t* line, const int idx)
bcf_get_info (bcf_t* line, const int idx)
```
Direct access for INFO fields within bcf1_t.d.info array
Two options:
a. enable ENABLE_DIRECT_ACCESS_TO_FIELDS - the size of info array is set
to the maximum number of fields in the header. More precisely, it is set
to hdr->n[BCF_DT_ID]
b. enable ENABLE_DIRECT_ACCESS_TO_FIELDS and
USE_SEPARATE_INFO_POINTER_ARRAY - the size of info array is same as the
original htslib, however, a separate array of bcf_info_t* (array of
pointers) is created with size = hdr->[BCF_DT_ID]. Elements of this
array point to elements of info such that
m_info_idx_to_info_ptr[key]->key == key

a. Invalid INFO elements are identified by info[i].vptr == 0
b. bcf_get_info_idx() returns 0 if entry is deleted/does not exist
c. test-vcf-direct.c is a simple test program for both performance and
functional correctness
d. Hack for now: hdr->n[BCF_DT_ID] is passed to bcf1_t->d.m_num_indexes
using a separate function. Should be set inside bcf_read, vcf_parse etc
e. bcf_translate untested
1. Avoid the use bcf_initialize_for_direct access by calling
set_num_fields_in_decode in multiple places. This function should be
called before any operations dealing with bcf1_t->d.info are performed.
2. Better functional check in test-vcf-direct.c
Debugged bcf_translate for direct access