Link shared library against libm and libpthread

kfunc.c uses libm and bgzf.c requires pthreads -- hat tip @apmasell.
Partial fix for #94.

(No changes needed for libhts.dylib, as on Mac OS X maths and pthreads
functions are in libSystem.dylib -- -lm and -lpthread merely add further
symlinks to libSystem.dylib to the linking.)
Create a pkg-config description for easy linking

Htslib-using programs can optionally take advantage of pkg-config, which
allows easy detection of the presence and version of libraries using the
PKG_CHECK_MODULES macro in GNU Autoconf.  It also allows easy compilation,
without concern for installation paths, using pkg-config as follows:

    cc -o tabix tabix.c `pkg-config --cflags --libs htslib`

[Various modifications to Andre's original patch, notably to delay
expanding installation directory variables until install time, adding
an -uninstalled pkg-config file, and naming the @placeholders@ as per
their autoconf equivalents.  Closes #94.]
bgzf_seek: Assign corect block_address (on behalf of Chris Smowton)
Add basic INSTALL and README files
Release 1.0: first released HTSlib package
Merge version number and soname bump from master
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.
Make hts_idx_push no longer return 0 after the first unmapped read. This fixes idxstats
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...
faidx API to access sequence stats
bcf_get_info_values: Return correct INT8 and INT16 missing value
Minor documentation update
Correct reference lines
Removed the .gz, .Z, .sz etc suffix searching when looking for reference files.

These are a hang-over from the Staden Package io_lib
days, but did not function correctly in htslib anyway as we had
already removed the decompression code (plus it was inappropriate for
http requests to boot).