REF: De-duplicate pieces of datetimelike arithmetic
- [ ] closes #xxxx
- [ ] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Hello @jbrockmendel! Thanks for submitting the PR.

 - There are no PEP8 issues in the file [`pandas/core/arrays/datetimelike.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/core/arrays/datetimelike.py) !

 - There are no PEP8 issues in the file [`pandas/core/arrays/datetimes.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/core/arrays/datetimes.py) !

 - There are no PEP8 issues in the file [`pandas/core/arrays/period.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/core/arrays/period.py) !

 - There are no PEP8 issues in the file [`pandas/core/arrays/timedeltas.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/core/arrays/timedeltas.py) !

 - There are no PEP8 issues in the file [`pandas/core/indexes/period.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/core/indexes/period.py) !

 - There are no PEP8 issues in the file [`pandas/tests/indexes/datetimes/test_ops.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/tests/indexes/datetimes/test_ops.py) !

 - There are no PEP8 issues in the file [`pandas/tests/indexes/period/test_ops.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/tests/indexes/period/test_ops.py) !

 - There are no PEP8 issues in the file [`pandas/tests/indexes/timedeltas/test_ops.py`](https://github.com/jbrockmendel/pandas/blob/858cb0818c750bc268993d9539b95517fa4c0a3d/pandas/tests/indexes/timedeltas/test_ops.py) !

