BUG:remove rollback from generate_range
'elif end and not offset.onOffset(end): end = offset.rollback(end)' gives
unwanted results for e.g. offset=MonthEnd when start.time() > end.time()


EXAMPLE:
In [1]: import pandas as pd

In [2]: from datetime import datetime

In [3]: pd.date_range(freq='M', start=datetime(2019, 4, 30, 0, 2), end=datetime(2019, 7, 1, 0, 1))
Out[3]: DatetimeIndex(['2019-04-30 00:02:00', '2019-05-31 00:02:00'], dtype='datetime64[ns]', freq='M')

In [4]: pd.date_range(freq='M', start=datetime(2019, 4, 30, 0, 1), end=datetime(2019, 7, 1, 0, 1))
Out[4]: DatetimeIndex(['2019-04-30 00:01:00', '2019-05-31 00:01:00', '2019-06-30 00:01:00'],
              dtype='datetime64[ns]', freq='M')

line 3 output expected to include 2019-06-30 as only 1 minute difference between start dates in lines 3 and 4




- [ ] closes #xxxx
- [x] tests added / passed
- [ ] passes `black pandas`
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
