REF/TST: Corner cases for op(DataFrame, Series)
We have two special cases in `_combine_series_frame` that are never tested ATM.  This adds tests for them, then notes that the special case handling code is unnecessary and this can now fall through to the general case code.  In a follow-up, we'll be able to simplify _combine_series_frame further, but for now I want to keep the changed logic obvious.

Also note that the removed
```
         if not len(other):
            return self * np.nan 
```

is actually wrong in the non-float test case in L681-685 in the test file.