BUG/API: to_datetime preserves UTC offsets when parsing datetime strings
- [x] closes #17697
- [x] closes #11736
- [x] closes #21864
- [x] precursor to fixing #15938
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

This PR makes `to_datetime(ts_string_with_offset)` and `DatetimeIndex([ts_string_with_offset])` to now match `Timestamp(ts_string_with_offset)`
```
This branch

In [2]: Timestamp("2015-11-18 15:30:00+05:30")
Out[2]: Timestamp('2015-11-18 15:30:00+0530', tz='pytz.FixedOffset(330)')

In [3]: to_datetime("2015-11-18 15:30:00+05:30")
Out[3]: Timestamp('2015-11-18 15:30:00+0530', tz='pytz.FixedOffset(330)')

In [4]: DatetimeIndex(["2015-11-18 15:30:00+05:30"])
Out[4]: DatetimeIndex(['2015-11-18 15:30:00+05:30'], dtype='datetime64[ns, pytz.FixedOffset(330)]', freq=None)
```
