title: BehaviorSubject initial value not working with share()
body: <p><code>share()</code> operator is applied to a BehaviorSubject. 
  BehaviorSubject has initial value.</p>
  
  <p>Goal is to create a single shared subscribtion. <strong>But this shared subscribtion does not seem to work when BehaviorSubject has an initial value.</strong></p>
  
  <p>Getting unexpected results.</p>
  
  <p>Code shown below:</p>
  
  <pre><code>let subject = new Rx.BehaviorSubject(0);
  let published = subject
                    .do(v =&gt; console.log("side effect"))
                    .share();
  
  published.subscribe((v) =&gt; console.log(v+" sub1"));
  published.subscribe((v) =&gt; console.log(v+" sub2"));
  
  subject.next(1);
  </code></pre>
  
  <p>Result: </p>
  
  <pre><code>"side effect"
  "0 sub1"
  "side effect"
  "1 sub1"
  "1 sub2"
  </code></pre>
  
  <p>Expected Result: </p>
  
  <pre><code>"side effect"
  "0 sub1"
  "1 sub1"  &lt;------------- this is missing from actual result
  "side effect"
  "1 sub1"
  "1 sub2"
  </code></pre>