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.
gentle ping.  The follow-ups to this are both a) really nice code-removals and b) orthogonal to the rest of the current ops stuff. great thanks