Reverse Arithmetic operations between pandas series and custom objects
#### Code Sample, a copy-pastable example if possible

```python
class MyObject():
    __array_priority__ =1000  # So __radd__ of this class is called
    def __init__(self,s=None):
        if s is None:
            self.s = pd.Series([1,2,4])
    
    def __radd__(self,other):
        print("Series is passed as :",type(other))
        self.s = self.s + other
        print("After operation, self.s is", self.s)  # a pandas series
        return self  # I want to return object of type:MyObject

custom_obj = MyObject()
s = pd.Series([5,6,7])
s + custom_obj  # Making pd.Series interact with my custom object (reverse add)

```
#### Current Output
```python
Series is passed as : <class 'numpy.ndarray'>
After operation, self.s is 
0     6
1     8
2    11
dtype: int64
0    <__main__.MyObject object at 0x7f6ebbb365f8>
1    <__main__.MyObject object at 0x7f6ebbb365f8>
2    <__main__.MyObject object at 0x7f6ebbb365f8>
dtype: object
```
#### Problem description
The returned object is inserted into a series which has same index as original series.
Is there a better way to make pandas objects interact with custom objects.

Currently a np.ndarray is passed to __radd__. I know there is a way to make pass the series itself (using extension type??) but I am not sure.

#### Expected Output
The operation s + custom_obj should return an object of type MyObject


<details>
pd.version:0.24
</details>
