Phylo.draw_ascii: ensure tree is rendered the same in Py and Py3

Python 3 uses "banker's" rounding, i.e. round(0.5) -> 0, round(1.5) -> 2;
Python 2 uses "sane" rounding, i.e. round(0.5) -> 1.
Result: the little stub used to draw the root did not appear on Python 3.
This commit fixes that, at the cost of some fidelity to the actual tree or
Phylo.draw() image.
Merge branch 'master' of github.com:biopython/biopython
Tutorial: enabled/fixed a couple more Phylo tests
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
Update NEWS
Merge pull request #307 from bow/patch_multiple-hit-ids

Add alternative ID support to SearchIO
Duplicated first contribution note fix
reverting the use of with
removed un-necessary print_function import
reverting the use of with
reverting the use of with
removed un-necessary print_function import
32 bit interval for random number generation
32 bit interval for random number generation