Period.asfreq issue caused(?) by C division rules
This behavior is present both before and after #19608/#19540.

```
per = pd.Period('0001-01-01', freq='B')
>>> per + 1
Period('0001-01-02', 'B')
>>> per - 1
Period('0001-01-05', 'B')
>>> per - 4
Period('0001-01-02', 'B')
>>> per - 5
Period('0000-12-25', 'B')
```
