Phylo.draw_ascii: delay setting stdout as the output handle until runtime

Avoids a conflict with run_tests.py / doctest, where sys.stdout is modified
after the Bio modules are imported (so the original stdout disappeared)
Update QueryResult to handle alternative hit IDs
Add alternative ID querying to tabular BLAST results
Add alternative ID querying to XML BLAST results
Use ' >' instead of '>' for resilient blast-xml alt ID parsing
Also use sallseqid column as a fallback in blast-tab parsing
Rename alternative ID and desc attributes for consistency
Expose 'id_all' and 'description_all' instead of their 'alt' counterparts in SearchIO