My idea was to have `total` never be an upper bound on the error count, if it's unspecified. Imagine I want to retry the `connect` 10 times, so I write `Retry(connect_errors=10)` and then observe it only retries 5 times. This seems misleading.

Each of the other error counts gets a default value, which ensures we're not retrying forever by default.

Similar to how the `total` constructor is set to None instead of `_Default` in the Timeout class, if you don't specify it it doesn't have meaning.