[WIP] implement tests using hypothesis
[skipci]

Related: #17978 

Exposes a whole bunch of broken cases.  Many of them look like they are not currently caught because the large majority of offset tests use tz-naive pydatetime inputs.

Note this does _not_ fix these bugs.  The goal here is a Proof Of Concept for using hypothesis and discuss if/how we can make it useful.

It also doesn't add hypothesis to the requirements because I have no idea what the appropriate file is for that.