TST: Move explicit connectivity checks to decorator.

Instead, `network` decorator in pandas.util.testing catches `IOError` instead.
You have to opt into failing on tests by setting
`pandas.util.testing._RAISE_NETWORK_ERROR_DEFAULT` to `True`.

Also adds a `with_network_connectivity_check` that can automatically check for a connection.

Fixes #3910.

This version of the fix ignores all IOErrors and assumes there are connectivity problems
with any URLError.