modified to exclude alignments with a single sequence

(this could be modified further to exclude alignments with less than some other arbitrary
value when more than two sequences are compared)
modified gap postions to be '-:-' rather than '-' to preserve column numbers
first commit
fixed bug in argument parser so that long argument names work correctly
added more rigorous argument parsing

I used argparse to allow optional specification of the blast program, output format
and evalue cutoff.

This also provides reasonable --help functionality
Changed convert_blast_stats to parse_blast_stats, which returns a dictionary with all the columns specified in the format

This allows flexibility in the file format of the blast file.
Added function top_query to replace the need to run a bunch of unix commands

previously, it was necessary to run "sort -gk 15 blastfile | uniq.py -k 3 > blastfile_uniq"
from the command line then to invoke a shell process from within the script to use
grep to identify additional hsps belonging to the highest-scoring sseqid / qseqid combinations

this function encapsulates all of the functionality of the above commands
modified parse_tblastn to work with the output from top_query
modified to calculate strand from sstart and send so it does not rely on an optional output column
added function get_seq which replaces the external calls to GetSeq.pl, trunc.pl, revcom.pl and translate.pl

this makes use of biopython
modified get_seq and parse_tblastn (renamed to parse_blast) to work with both tblastn and blastp

I also removed parse_blastp and modified the main function so that all checking is done
inside the argument parsing block
added additional documentation
modified to make translation of DNA sequences optional