The stubs in test.support._hypothesis_stubs only cover the strategies and decorators the existing property tests happen to use, so a test wanting hypothesis.stateful, or the timezones() / ip_addresses() strategies, fails to import when Hypothesis is not installed.
This adds those names. The stateful API has no equivalent of @example, so there is nothing for the stub to replay: a state machine's TestCase is skipped and run_state_machine_as_test raises SkipTest. The decorators are accepted so state machine classes can be defined at import time.
Real Hypothesis only exposes hypothesis.stateful once the submodule has been imported, so hypothesis_helper now imports it, making the attribute available in both modes.
The stubs had no tests of their own, so this also adds test_hypothesis_stubs, which checks the replay and skip behavior directly and runs the API-shape checks against the real package when it is importable (i.e. in the "Hypothesis tests on Ubuntu" job).
Groundwork for #107862; a stacked PR adding the first stateful/property users follows.