Update HSPFragment coordinate check

HSPFragment coordinate check now ensures that start coordinates are always less
than or equal to end coordinates.
Fix blast-text bug where start coordinates may not be <= end coordinates
Update HSPFragment hit and query to create SeqRecord on the fly

If the query and hit attributes are given as strings, SeqRecord objects are now
created when these attributes are retrieved. This reduces object creation
overhead during parsing, since no SeqRecord objects are created then.
Update alphabet setting in fasta-m10

As SeqRecord objects are created on the fly now, the alphabet is set on the
HSPFragment object. This assumes that alphabets for query and hit sequences are
always the same.
First draft of SearchIO tutorial
Update doctest directory for SearchIO tutorial
Add Bio.SearchIO._model to setup.py
Make Bio._py3k module into a package (Bio/_py3k/__init__.py)

This will reduce the namespace clutter with private code like _ordereddict
which is also moved into Bio/_py3k
Remove hit and query descriptions in HSPFragment.__init__

Also updates attribute transfer during HSPFragment slicing
Add tests for HSPFragment default values
Fix for Python2.5 tutorial doctest
Rename alignment_annotation attributes to aln_annotation
Rename alignment attributes to aln
Rename HSP properties for multiple fragments into using '*_all'
Add hit and query SeqFeature attributes to HSPFragment
Streamline HSPFragment.__init__
Rever HSPFragment.{hit,query} not to create SeqRecord on the fly

Strangely, quick benchmarks showed it's faster this way. Also, this seems to
have less surprises for the user because the SeqRecord objects persist.
Refactor HSPFragment.{hit,query} id, description, and features setter and getter

The refactored function should make it easy later on to add / remove fragment
attributes that should be sync-ed with SeqRecord attributes.
More verbose assert message for WithinPosition.

Aim to throw some light on occasional stochastic unit test failure, e.g.
http://testing.open-bio.org/biopython/builders/Linux%20-%20Python%203.1/builds/671
Dependency conditional PNG output in test_GenomeDiagram.py