Create ABCDateOffset
`DateOffset` is one of a small number of commonly-used classes for which no `ABCFoo` class exists.  Putting this in place is cheap and gives us an option to use it down the road.

Replaced `isinstance(x, DateOffset)` with `isinstance(x, ABCDateOffset)` in a few places where doing so lets us avoid run-time imports.  Other than that this holds off on actually _using_ `ABCDateOffset`, as the `ABCFoo` isinstance checks do appear to be appreciably slower than the non-ABC versions.

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