TST: test_assert_index check index attributes 
- [x] `PeriodIndex.freq` (mandatory), #13250
- [x] `DatetimeIndex.tz` (mandatory)
- [x] `DatetimeIndex.freq` (add `check_freq` option with default False, because lots of tests compare op result (lost freq) and expected result created by `date_range` (has freq))
- [x] `TimedeltaIndex.freq` (same as above), #13250 
- [x] `CategoricalIndex` internals (`.codes` and `.categories`) (ref #13076, add `check_categorical` with default True), PR ##13249
