BUG: Series.ffill() with mixed dtypes containing tz-aware datetimes f…
…ails. (GH14956)

Seems to work with all the datetime classes usually encountered, although 'tz' seems to be the idiom in the codebase (not sure why?). If both need to be supported I can replace `getattr(val, 'tzinfo', None)` with `getattr(val, 'tz', None) or getattr(val, 'tzinfo', None)`, thus also giving precedence to the former (if available).

(breaking commit was 4de83d25d751d8ca102867b2d46a5547c01d7248)

 - [ x] closes #14956 
 - [x] tests added / passed
 - [x ] passes ``git diff upstream/master | flake8 --diff``
 - [x ] whatsnew entry
