title: RxJava: Subscription's unsubscribe() method isn't invoked
body: <p>In code bellow I need to release some resources on unsubscription (where it logs "release").</p>
  
  <pre><code>   Observable first = Observable.create(new Observable.OnSubscribe&lt;Object&gt;() {
                      @Override
                      public void call(Subscriber&lt;? super Object&gt; subscriber) {
                          subscriber.add(Subscriptions.create(() -&gt; {
                              log(“release”);         
                          }));
                      }
                  }).doOnUnsubscribe(() -&gt; log(“first”));
     Observable second = Observable.create(…).doOnUnsubscribe(() -&gt; log(“second”));
     Observable result = first.mergeWith(second).doOnUnsubscribe(() -&gt; log(“result”));
     Subscription subscription = result.subscribe(…);
     //…
     subscription.unsubscribe();
  </code></pre>
  
  <p>But it logs only “result”. Looks like unsubscription is not propagated to merge’s child observables. So how to handle unsubscription inside of first observable’s Observable.OnSubscribe?</p>