Request replay finish off edge cases, fixes

- 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 having an instance of `PicassoExecutorService`. It should have never been.
- Rewrote all performRetry tests
- `RemoteViewsAction` now properly provides a unique target.
- Treat `Bitmap.decodeStream() -> null` as a retryable case.

This makes request replay much more robust.