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.
Add listdir_iter to sftp_client.SFTPClient
Remove some debug stuff I inadvertently left in and remove some confusing comments
Add python 2.5 support except block to listdir_iter
SSHClient: Allow to use ECDSA private keys.

Nowadays, ECDSA keys became more widespread, so it might be a good idea
to support those private keys as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
SSHClient: Also look for id_ecdsa in ~/.ssh.

I'm not using keys in ~/.ssh at all, so I missed adding ECDSA support
there as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Add Py3 compatibility support helpers
Add Py3.2 and Py3.3 to travis
Fix print statements
Add Py3.2 and Py3.3 to tox
Add Py3 helpers to common.py
Uncap the requirements
Write to locals instead of globals
Fix imports
Use test_path to avoid relative path issues
Fix imports
Fix dict iters, sorts, exceptions, bytes renames and tuple args
Fix imports
Fix message sending

Create constants for byte messages, implement asbytes so many methods can take Message and key objects directly and split get_string into get_text and get_binary. Also, change int handling to use mpint with a flag whenever the int is greater than 32 bits.
Fix winapi