Updated obsolete error message. Fixes #85
Set Git attributes similarly to the samtools repository

Mark BAM files (if we add any) as binary and view their diffs as SAM.
Omit control files and README.md from release tarballs.
Run tests using htslib's just-built bgzip and tabix

Use makefile dependencies to ensure bgzip and tabix are up to date,
and (typically) run them via explicit paths to avoid falling back to
already-installed copies.

Add test/test.pl infrastructure to supply explicit bgzip/tabix paths
as required.  Eventually, there will be a Makefile mode to use system
bgzip and tabix along with a system htslib; such a mode will provide
empty $(BGZIP) and $(TABIX) and so "test.pl --exec bgzip= --exec tabix="
invokes executables named "bgzip" and "tabix" via $PATH.
documentation update

Adjust/relocate the BCF1 and calling text as desired.

* clarify `--phased` option in `bcftools view`. Fixes (#92)
* add some man text about BCF1
* add some man text about calling no with `call` rather than `view`
* add in man doc for recent changes to `bcftools index`
Merge pull request #94 from mcshane/feature/docs

documentation update
Comments
More comments
Merge procedure modified:
Pre-process individual files to
a. Move fields from INFO to FORMAT (per sample)
b. Drop un-necessary fields
Debug
1. Changed to -O3 flag in Makefile by default
2. Use processed_header in vcfmerge
Fixed memory leak in move_info_to_format
Added code for merge configuration file directives
bcf_hdr_merge now has force_samples argument
1. Debugged merge_config
2. Added sample config.sample for merge
vcfmerge works with gVCFs now. Needed a modification to synced_reader in
htslib.
Main idea: before merge_buffer fully kicks in, check whether the
intervals need to be split and aligned to a minimum end position. The
minimum is computed by the function find_end_position and alignment to
the end is performed by align_to_end. This process produces new
intervals. Through a tricky manipulation of reader->nbuffer and
reader->last_valid_record_idx, intervals are merged successfully.

FIXME:
1. The terrible hack that is is_split_record. Needs to go away as soon
as I figure out how to obtain base from reference given position
2. shake_buffer around line 1708, unsure what to do
Added support to read reference file to obtain reference base when
intervals are split while merging gvcfs
1. Modified vcfmerge to use m_end_point in bcf1_t struct instead of
accessing INFO field everytime.
2. Eliminated using update_info and update_allele in merge_buffer and
shake_buffer.
3. Avoid using duplicates when doing merge.Together with point (1), saves
20-25% of the execution time.
4. Modified shake_buffer for a cleaner implementation. FIXME: likely can
be made to run faster.
5. Stat collection mechanism added
1. Avoid using kh_get_strdict in merge_info and merge_format. Instead
maintain a big indexing structure from ids of individual files to merged
ids (and back). Also, maintain a map between merged id and index of the
field in the merged line. This saves around 11% of execution time.
2. For shake_buffer, handle common case efficiently. This saves 3% of
execution time.
1. Added support for handling NON_REF in gVCFs whenever fields of length
BCF_VL_A,BCF_VL_A or BCF_VL_R are included
2. Match GATK merge as closely as possible
  a. DROP fields as described in config.sample
  b. Merge INFO fields as listed in cmd.sh
3. Avoid duplications in preprocess_line completely
4. Use idmap instead of string search for info_rules
Special handling of DP info field
In merge, if one sample contains a DP INFO field, then compute sum of DP
values from all input values and store in INFO field. Sum is done as
follows:
if input.INFO[DP].exists
  sum += input.INFO[DP];
elif input.FORMAT[MIN_DP] exists
  sum += input.FORMAT[MIN_DP];
elif input.FORMAT[DP] exists
  sum += input.FORMAT[DP];