Save data read in transport before raising exception.
Save data read in transport before raising exception.

If the exception raised is due to a timeout, we might read from the transport
again. In the old code, the data was discarded, causing loss of
synchronization. This ensures the data we see is preserved for next time.

Conflicts:
	amqp/transport.py

yetone/py-amqp,yetone/py-amqp,jonahbull/py-amqp,dims/py-amqp,dims/py-amqp,dallasmarlow/py-amqp,jonahbull/py-amqp,smurfix/aio-py-amqp,dallasmarlow/py-amqp,smurfix/aio-py-amqp