test: Don't hide all exceptions in Retry by default
test: Don't hide all exceptions in Retry by default

This e. g. hides a `KeyError: 'sessionId' thrown by
`selenium.webdriver`, and thus makes debugging unnecessarily hard.

This also exposed broken timeout handling: timeouts were previously
thrown as generic `Exception` and caught by our own exception whitelist,
thus they did not work properly when `exceptions` was empty. Introduce a
proper new class for timeouts and always handle these.

Now require all expected exceptions to be declared explicitly.

Closes #9369

mareklibra/cockpit,moraleslazaro/cockpit,mvollmer/cockpit,martinpitt/cockpit,moraleslazaro/cockpit,SotolitoLabs/cockpit,andreasn/cockpit,garrett/cockpit,deryni/cockpit,deryni/cockpit,andreasn/cockpit,mareklibra/cockpit,deryni/cockpit,SotolitoLabs/cockpit,cockpituous/cockpit,cockpit-project/cockpit,mvollmer/cockpit,moraleslazaro/cockpit,garrett/cockpit,cockpituous/cockpit,SotolitoLabs/cockpit,martinpitt/cockpit,andreasn/cockpit,andreasn/cockpit,martinpitt/cockpit,deryni/cockpit,mareklibra/cockpit,deryni/cockpit,martinpitt/cockpit,andreasn/cockpit,moraleslazaro/cockpit,garrett/cockpit,SotolitoLabs/cockpit,cockpituous/cockpit,moraleslazaro/cockpit,deryni/cockpit,mvollmer/cockpit,cockpituous/cockpit,moraleslazaro/cockpit,cockpit-project/cockpit,moraleslazaro/cockpit,mvollmer/cockpit,cockpituous/cockpit,SotolitoLabs/cockpit,garrett/cockpit,SotolitoLabs/cockpit,mareklibra/cockpit,mareklibra/cockpit,mvollmer/cockpit,andreasn/cockpit,cockpit-project/cockpit,andreasn/cockpit,mareklibra/cockpit,cockpituous/cockpit,garrett/cockpit,cockpit-project/cockpit,martinpitt/cockpit,SotolitoLabs/cockpit,deryni/cockpit,cockpit-project/cockpit,mareklibra/cockpit