requests fixes
- Use IOException.toString() instead of getMessage() in case it's empty
- Attempts to test connect exceptions may fail due to unexpected
successful connect. Tests quit with uncompleted status if the
connect is successful and are retried a small number of times until
the test can be performed properly. If the retries are exceeded an
exception is generated indicating the test can't be setup properly.