timeouts now work correctly, can time out between recv and reply
better timeout test, fixed bugs