ENH/BUG: DataFrame(object_array_of_periods_or_intervals)
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [x] whatsnew entry

Get the special-casing out of sanitize_array up the chain into maybe_infer_to_datetimelike.  im hopeful we can get it all crammed into maybe_infer_objects