No request replay if we don't scan network state changes.

- When retrying we always ask for latest `NetworkInfo`. Having the value cached is bad because it might be out of date by the time we want to retry.
- Retry if we only have an open data connection (`isConnected()` instead of `isConnectingOrConnected()`)
- Scanning for network changes is no more limited to `PicassoExecutorService`. It should have never been.
- Rewrote all performRetry tests

This makes request replay much more robust.