Netflix/RxJava — pull request #1577 by zsxwing (2014-08-14 11:17:49+00:00)
Title: Fix the compose covariance

Changed the return type of `compose` from `Observable` to `Observable`. The reason is that if returning `Observable`, the following codes won't work in Java:

```Java
Observable o1 = Observable.from("s1");
Observable o2 = o1.compose(new Transformer() {
@Override
public Observable call(Observable t1) {
return Observable.from("s2");
}
});
```
we have to write:
```Java
Observable o1 = Observable.from("s1");
Observable o2 = o1.compose(new Transformer() {
@Override
public Observable call(Observable t1) {
return Observable.from("s2");
}
});
```
Because we cannot assign `Observable` to a `Observable` variable, we should avoid to return `Observable`, otherwise the API will be inconvenient.