title: Some operations not respecting custom attributes in Series subclass
body: <p>According to <a href="https://pandas.pydata.org/pandas-docs/stable/internals.html" rel="nofollow noreferrer">https://pandas.pydata.org/pandas-docs/stable/internals.html</a><br>
  I should be able to sublcass a pandas Series</p>
  
  <p>My <a href="http://stackoverflow.com/help/mcve">MCVE</a> is </p>
  
  <pre><code>from pandas import Series
  
  
  class Xseries(Series):
      _metadata = ['attr']
  
      @property
      def _constructor(self):
          return Xseries
  
      def __init__(self, *args, **kwargs):
          self.attr = kwargs.pop('attr', 0)
          super().__init__(*args, **kwargs)
  
  s = Xseries([1, 2, 3], attr=3)
  </code></pre>
  
  <p>Notice that the <code>attr</code> attribute is:</p>
  
  <pre><code>s.attr
  
  3
  </code></pre>
  
  <p>However, when I multiply by <code>2</code></p>
  
  <pre><code>(s * 2).attr
  
  0
  </code></pre>
  
  <p>Which is the default.  Therefore, the <code>attr</code> was not passed on.  You may ask, maybe that isn't the intended behavior?  I think it is according to the documentation <a href="https://pandas.pydata.org/pandas-docs/stable/internals.html#define-original-properties" rel="nofollow noreferrer">https://pandas.pydata.org/pandas-docs/stable/internals.html#define-original-properties</a></p>
  
  <p>And if we use the <code>mul</code> method, it seems to work</p>
  
  <pre><code>s.mul(2).attr
  
  3
  </code></pre>
  
  <p>And this doesn't (which is the same as <code>s * 2</code>)</p>
  
  <pre><code>s.__mul__(2).attr
  
  0
  </code></pre>
  
  <hr>
  
  <p>I wanted to put this passed SO before I created an issue on github.  Is this a bug?</p>
  
  <p>Is there a workaround?</p>
  
  <p>I need to be able to do <code>s * 2</code> and have the <code>attr</code> attribute passed on to the result.</p>