modified to preserve order of blast hits.

This involves storing the hit names in an array, then using that order to convert the
dictionary of hits into an array

The calling function was just looping through the dictionary values without even looking
at the keys, so this does not alter the functionality of that function
moved argument parsing to a separate function
modified arg parsing to ensure that filenames always have complete paths

this is important because if the path given for the sequence index doesn't match
the path used when the index was created EXACTLY, it throws an error.
Added explicit trimming of partial codons before translating
modified parse_blast to return seq_record objects rather than printing seqs

seqs are printed by calling SeqIO.write with sys.stdout as file