Additional tests for ufunc(Series)
This adds a set of tests for ufuncs on Series. The goal is to
establish the correct behavior prior to implementing `Series.__array_ufunc__`.

There are two kinds of xfails right now

1. Series[Sparse] fails because `Series.__array_ufunc__` doesn't
    yet dispatch to `Series.array.__array_ufunc__`
2. `ufunc(series, series)` when the two series are unaligned. It's
    been determined that these should align, but isn't currently
    implemented.

LMK if there's anything I can do to make these tests clearer. The heavy parameterization is a bit unfortunate, but I think the best option.

xref https://github.com/pandas-dev/pandas/pull/23293