Refactor of output formatting.

Abstracted out the formatters and you can now specify which one
to use with the --format option. Also separated some of the
SQL-statement parsing and utility code into it's own namespace;
I think more could get moved over. The GeminiQuery class was
getting to a big monster, so these are the start of breaking
it up into separate concerns.
Fix for phenotype issue when the phenotype is set to None.
Merge branch 'master' of github.com:arq5x/gemini
Added documentation for the new formatting options.