Code deduplication in tz_convert and related
`tz_convert_tzlocal_to_utc` and `tz_convert_utc_to_tzlocal` are identical except for a `+` changed to a `-`.  This implements `_tz_convert_tzlocal_utc` which has an argument that flips the sign.  IIUC because it is inlined, that check should be free.

An upcoming PR will do the same thing for the `get_dst_info` cases in `tz_convert` and `tz_convert_single`, at which point a bunch of duplicate code will be able to be removed.  To make it more obvious how that will work, this rearranges the to-be-de-duplicated code blocks to use (near) symmetric condition-ordering and indentation.
