Add sortmerna to assign_taxonomy.py

Partially resolves https://github.com/gregcaporaso/short-read-tax-assignment/issues/68.

Most of the functions follow those in https://github.com/ekopylova/short-read-tax-assignment, with modifications relating to Null alignment strings now output by sortmerna.

In the current state this would require a lot of changes. The major one I see is that in BlastTaxonAssigner all blast hits are discarded except the best one for each query sequence which is used to assign taxonomy, whereas in SortMeRNATaxonAssigner, the main function _blast_to_tax_assignments() loops through all blast hits and retains taxonomies for those passing the %id threshold. The resulting dict{query_id:[[tax1], [tax2], ..[taxn]]} is passed to a consensus assignment function. The consensus assignment code shared between Uclust & Sortmerna, we can move to the TaxonAssigner class, that's pretty much identical, and at some point BlastTaxonAssigner can use that function as well, if we implement consensus assignment in it.