Ignore more EUMM droppings
Optionally specify base type for all query sequences

I originally didn't think it was necessary, but I see now it may be.

Refer to the added doc for the rationale.
Use the header preceeding alignments to improve parsing

This fixes a common parsing error (and hence aborted response) when the
base type is explicitly set to amino acid, and a less common error when
LANL is left to guess the base type and guesses amino acid but is unable
to align a sequence.

LANL's response for a sequence includes two <pre> elements when the base
type is amino acid: the alignment of HXB2 with the query and a
comparison of HXB2 with the translation of itself, NA vs. AA.

In the common error case when AA is explicitly chosen, the bogus
sentinel sequence we add includes two empty <pre> elements.  These both
get pushed onto the @alignments array as undef, but only one is popped
off, causing a length mismatch with other result arrays.  You might
expect this should only be a problem with the sentinel sequence since
the second <pre> for a real sequence has text but doesn't match the
alignment regex, and so never makes it onto @alignments.  However, it's
possible that LANL fails to align a real sequence, leading to two empty
<pre> elements which would trigger the same parse error (i.e. produce an
array length mismatch).

We can't simply skip every other <pre> when the base type is amino acid
since we allow mixed base type requests.  Thus, we need to use other
information in the document to disambiguate the <pre> blocks.
20140502