error response fixes
more customizable retry logic (may move to ssl_connection)
move retries from connection into ssl_connection
read_with_timeout -> ready?, read