Add gene annotations

A new celery worker, gene_annotator, starts when genotype_extractor is done. It updates the annotations:gene_names field in the genotypes table, as well as the extant_columns field in the vcfs table. As soon as extant_columns is updated, a reload of the examine page will show ANNOTATIONS as a supercolumn with the gene_names subcolumn. Works automatically with CQL.

FYI: After merge, run `alter table genotypes add column "annotations:gene_names" TEXT;`

Some notes that aren't in TODOs:

- We talked about CQL using gene_names rather than "annotations:gene_names" (for brevity), but that seems like a larger question re simplifying all of our column names in CQL? (For example, maybe we take out the supercolumn whenever there isn't ambiguity? Or allow for the supercolumn to be included or excluded in CQL, and default to something if there's indeed ambiguity?)
- The UI shows null when we don't have gene names. That's probably non-ideal.
- I'm saving the "status" idea ("Currently annotating genes..." in the UI) for a later PR.
- I punted on prefetching Ensembl data, so gene_annotator might be held up by a few seconds to a minute when it hits a release for the first time (and needs to download it).

Screenshot: 
![gene_names](https://cloud.githubusercontent.com/assets/322932/5167658/af8b4112-73c7-11e4-9b4b-f6a7873b0043.png)

Actually inserting the data directly (cf. the previous method, `res[…][…] = …`) is way clearer to me than calling this function which does the exact same thing in the same # of lines. I could be the odd one out here, though. If this stays, the docstring could be a little clearer to me, though; 
```python
def _add_column(spec, …):
    """Add a column to the VCF specification with the given information [or list that information]"""
```
 (Because this doesn't really apply to dictionaries in general.)