[DEPR] Assorted footguns in dtype checks
Finding some things that don't behave in The Obvious Way:

- [x] `dtypes.common.is_period`
    Never used outside of tests, checks for PeriodDtype-like arrays, _not_ `Period` scalar.
- [ ] `dtypes.common.is_datetimelike`
    Checks for `datetime64_dtype`, `datetime64tz_dtype`, `PeriodIndex`, or `timedelta64_dtype`, the last of which is not obvious (and in fact caused some bugs that will be fixed by #22074)
- [x] `dtypes.common.is_int_or_datetime_dtype` only used in two places, better to write out the conditions explicitly.
- [x] `dtypes.common.is_floating_dtype` deprecated in 0.20.0, is it too early to remove?
- [x] `dtypes.common.is_datetimetz` appears to be a duplicate of `is_datetime64tz_dtype`
- [x] `lib.is_integer`
    Returns `True` for timedelta64 objects; inconsistent with `is_integer_dtype` which excludes timedelta64.
