_BaseOffset's parameter `n` should be prevented from being 0
The docstring says
```
        Require that `n` be a nonzero integer.
```
but the "nonzero" condition isn't enforced.

Enforcing it would prevent the undesired behaviour noticed in #29901 , whereby
```
cbh = pd.offsets.CustomBusinessHour(start='07:00', end='01:00')
time = pd.Timestamp('2019-03-06 13:00:00')
time + 0*cbh
```
was returning
```
2019-03-07 07:00:00
```