DEPR: lowercase freqs 'ye', 'qe', etc. raise a ValueError
xref #56346, #56847, #9586

Using lowercase frequencies such as ‘y’, ‘ye’, ‘q’, ‘qe’, etc. raise a`ValueError` on main, though it worked before. Using those was never documented, but if people are use these lowercase frequencies, we should keep them work.

For example:
```
>>> pd.period_range("2020-01-01", "2020-08-01", freq="y")
ValueError: Invalid frequency: y, failed to parse with error message: ValueError("Invalid frequency: Y, failed to parse with error message: KeyError('Y')")
```
```
>>> pd.date_range("1/1/2000", periods=4, freq="qe")
ValueError: Invalid frequency: qe, failed to parse with error message: ValueError("Invalid frequency: qe, failed to parse with error message: KeyError('qe')")
```
The definition of `to_offset` is corrected, so now we can see the `FutureWarning`.
```
>>> pd.period_range("2020-01-01", "2020-08-01", freq="y")
<stdin>:1: FutureWarning: 'y' is deprecated and will be removed in a future version, please use 'Y' instead.
PeriodIndex(['2020'], dtype='period[Y-DEC]')
```

```
>>> pd.date_range("1/1/2000", periods=4, freq="qe")
<stdin>:1: FutureWarning: 'qe' is deprecated and will be removed in a future version, please use 'QE' instead.
DatetimeIndex(['2000-03-31', '2000-06-30', '2000-09-30', '2000-12-31'], dtype='datetime64[ns]', freq='QE-DEC')
```

- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).


@MarcoGorelli, could you please take a look at this PR? Thank you for reviewing this PR! @MarcoGorelli is this scheduled for removal in 4.0?

you might need to manually move the deprecation bullet from the 4.0 tracker issue to the 3.0 tracker issue if it isn't. thanks, will do