title: http provider Observable.toPromise() not working as expected in promise chains
body: <p>If i call a promise enabled method using the ng2 http provider Observable.toPromise() support it works as expected but when i use it as part of promise chain it resolves the returned promise before the then handler has processed and returned the result. </p>
  
  <p>Any known issues with getting Observable.toPromise() to work in promise chains or alternative ways i might test to make it a promise chain compatible result?  I'm blocked by this resolving promise before the http request, last item in promise chain, has completed its async request and returned result.</p>
  
  <p>For example</p>
  
  <pre><code>this.myService.getSomethingInvolvingingMultiplePromiseCalls().then(result =&gt; {
      let valueFromSomethingInvolvingMultiplePromiseCalls = result;
  }, err =&gt; { 
      console.error('landed in app.component outer promise rejected handler, see output window for details')
  })
  
  public getSomethingInvolvingingMultiplePromiseCalls(): Promise&lt;string&gt; {
      return this.getSomethingInvolvingPromiseCall().then(resultPromise1 =&gt; {
          let resultPromise1propertyFoo = resultPromise1.propertyFoo;
              return this.getSomethingInvolvingNg2HttpProviderToPromiseCall(resultPromise1propertyFoo);
          }
          .then(resultPromise2 =&gt; {
              let resultPromise2propertyBar = resultPromise2.propertyBar;
              return resultPromise2propertyBar;
          }   
      }
  
  getSomethingInvolvingNg2HttpProviderToPromiseCall(arg1: string): Promise&lt;string&gt; {
     let body = 'some body content leveraging arg1';
     let headers = new Headers({ 'Authorization': 'Bearer ' + accessToken, 'Content-Type': 'application/x-www-form-urlencoded' });
     let options = new RequestOptions({ headers: headers });
  
     return this.http.post(resourceBaseAddress + '/someRestApi', body, options).toPromise().then(response =&gt; {
          let responseJson = response.json();
          return responseJson['someJsonProperty'];
        });
      }
  }
  </code></pre>
  
  <p>thanks in advance for any insights or suggestions.</p>