PTFM-13951 Retry upon connection error even for non-idempotent requests

@kislyuk, care to review?
In Python 3, you can chain exceptions with `raise e from original`, providing a natural interface for this. Python 2 sadness :(