Queries involving genotype information are more specifically flagged

Originally, querying pulled in the genotype columns whenever a query involving the variants table was used. This lead to some weird behavior where queries like:
```
select distinct is_exonic from variants
```
would return a bajillion 'distinct' 0s and 1s instead of the expected behavior, showing the all of the values in the is_exonic column since the select statement gemini was sending is more like:

```
select distinct is_exonic, gts, gt_types, gt_phases, gt_depths from variants
```

I swapped the is_variant_query boolean for a function _query_needs_genotype_info(), which returns True if the query involves the variant table and the query has a term that starts with "gt", so the genotype information only gets looked up if it seems like it is necessary for the query.

Don't merge this yet until I make sure everything is kosher tomorrow.

Will close: https://github.com/arq5x/gemini/issues/129