title: angular2 rxjs shared subscribe not firing
body: <p>Angular2 2.0.0-beta.15, Rxjs 5.0.0-beta.2</p>
  
  <p>I have two simple rxjs observables, one shared, one not (.share() called on it)</p>
  
  <p>I have an angular2 component which subscribes to both observables and also displays the values in its template, which also subscribes to the observables with async pipe.</p>
  
  <p>I click a button to set .next() on both observables with some garbage.</p>
  
  <p>The template updates and shows the latest value of each.
  The subscription function in the component does NOT fire for the non-shared observable. Why?</p>
  
  <p>plunkr:
  <a href="https://plnkr.co/edit/IIWvnTT1zLit1eUNknkk?p=preview" rel="nofollow">https://plnkr.co/edit/IIWvnTT1zLit1eUNknkk?p=preview</a></p>
  
  <pre><code>@Component({
      selector: 'my-app',
      template: `
          &lt;div&gt;
              &lt;div&gt;obs1 value: {{ observable1 | async }}&lt;/div&gt;
              &lt;div&gt;obs2 value: {{ observable2 | async }}&lt;/div&gt;
              &lt;button (click)="randomizeIt()"&gt;randomize it&lt;/button&gt;
  
              &lt;br&gt;
              &lt;h3&gt;Question 1&lt;/h3&gt;
              Why is obs1's initial value (from startWith) not displayed?
  
              &lt;h3&gt;Question 2&lt;/h3&gt;
              Why does our subscription to obs2 never fire on new values?&lt;br&gt;
              check console.log to see what i mean.
          &lt;/div&gt;`,
  })
  export class App {
  
      public observable1:Observable&lt;string&gt;;
      public observer1:any;
      public observable2:Observable&lt;string&gt;;
      public observer2:any;
  
      constructor() {
          this.observable1 = Observable.create(observer =&gt; {
              this.observer1 = observer;
          }).startWith("initial obs 1 value").share();
  
          this.observable1.subscribe((val) =&gt; {
              console.log('YOU WILL SEE THIS:', val);
          })
  
          this.observable2 = Observable.create(observer =&gt; {
              this.observer2 = observer;
          }).startWith("initial obs 2 value"); // no share!
  
          this.observable2.subscribe((val) =&gt; {
              console.log('WHY DOES THIS NEVER FIRE ON NEW VALUES?:', val);
          })
  
      }
  
      public randomizeIt() {
          let r = Math.random();
          console.log('set both obs to: ', r);
          this.observer1.next(r);
          this.observer2.next(r);
      }   
  
  }
  </code></pre>
  
  <p>Thanks in advance!</p>