022 blast remotely

Some apologies: the --remote flags were originaly commited in branch 021 and comments were incorporated there, but that branch has not been merged yet and this diff is relative to master, so that's why some of these changes look familiar.

* Support for remote blasting (copied over from branch 021)
* BLAST_HEADER and BLAST_FORMAT renamed to have _DEFAULT
* Files that referenced the above global variables have been changed to use the new names.
* Calculation of 'coverage' (float) was removed in favor of blastn's qcovs field, which is equivalent, but casted to an integer.
* classifier and classify, which expect BLAST_FORMAT_DEFAULT headers explicitly referred to 'coverage' but this has been changed to 'qcovs'
* added a new classifier test that makes sure classifier can parse blast files with additional fields beyond the BLAST_FORMAT_DEFAULT, but only if --has-header is passed.

Feedback requests
* There are lots of blastn output fields to expose.  Is putting them in the docstring preferable to argparse help?
* Fields are passed in comma-delimited format as one string (e.g. "--outfmt qseqid,sseqid,pident")