Wormtable backend to serve variants from VCF

This pull request is a proposal for a backend to serve variant data based on VCF files. The backend uses VCF data converted into [wormtable](https://pypi.python.org/pypi/wormtable) format using the `vcf2wt` utility distributed with wormtable. Scalability in terms of data set size is quite good, and it has been tested over the full [2011](http://goo.gl/LFbQHt) and [2013](http://goo.gl/YxaxCq) 1000 Genomes datasets.

The backend currently  supports the `variants/search` method using coordinates (`start` and `end`) and names (`variantName`). The `CHROM` column in VCF is mapped to the `referenceName` and is fully supported. Multiple variant sets are also supported (although querying over multiple variant sets at the same time currently does not work). We can also specify the `callSetIds` we wish to have returned, and these are currently directly mapped to the sample name in VCF.

See the README for installation instructions and for the location of example data.

Wormtable is probably not a good choice for the backend in the long term, but is useful for now to give us a usable server using real data. It was chosen because:

1. It stores VCF data in a compact binary form which can be easily accessed from Python;
2. It supports flexible indexing of columns, so we can find rows quickly;
3. Row access is low-latency, as we seek directly to the location of rows in the table (no decompression or reading in of blocks);
4. It has a pre-existing conversion tool so we don't need to worry about parsing VCF data.

There are issues with wormtable, the most important being:

1. It does not support interval queries (so, variants that overlap a region may not be found);
2. There is currently no conversion tool for BAM/SAM data.