Fix issue 34 (SFTPFile prefetch assumes response order matches requests)

SFTPFile._async_response gets a new 'num' parameter giving the request
number.  This can be matched up with the return value of
SFTPClient._async_request() to retrieve data specific to that request.

The prefetch queue SFTPFile._prefetch_reads is replaced with the dict
_prefetch_extents, which maps request numbers to (offset,length)
tuples.

A lock is used to exclude the case where a response arrives in
_async_response before _prefetch_thread has updated it.
No more Python 2.5 on Travis :(
Merge branch '1.8' into 1.9
Merge branch '1.9' into 1.10
Update travis settings to be similar to fab's
Merge branch '1.8' into 1.9
Merge branch '1.9' into 1.10
Add a testcase for client.save_host_keys.
No need for 'self.tc' within a single test :)
Small refactor
Saner (to me) positive assertion
Check correct stored hosts filename.
ditto
Changelog, fixes #176
Cut 1.10.5
Fix #193 (use RtlMoveMemory instead of msvcrt.memcpy)
Fix agent auth on Windows/Python 2.5) (with thanks to @lndbrg)
Support Py2.5 to Py3.4 for thread identity (thanks @lndbrg)
Try Py2.5 compatibility as last fallback for thread identity.
Add NEWS entry re #193 and friends