Respect the timeout when retrying.
Add test for respecting timeout when retrying
Refactor pipeFailRetry options into options object