Netflix/feign — pull request #29 by adriancole (2013-07-17 16:17:48+00:00)
Title: Replaced IncrementalCallback with full RxJava-style Observer support

Breaking change, but worth it, this removes support for `IncrementalCallback` and instead addresses async via an [RxJava-style](https://github.com/Netflix/RxJava) Observer.

Example usage:
```
interface GitHub {
@RequestLine("GET /repos/{owner}/{repo}/contributors")
Observable subscription(@Named("owner") String owner, @Named("repo") String repo);
}

static class Contributor {
String login;
int contributions;
}

public static void main(String... args) throws InterruptedException {
GitHub github = Feign.create(GitHub.class, "https://api.github.com", new GitHubModule());

System.out.println("Let's treat our contributors as a subscription.");
Observable observable = github.subscription("netflix", "feign");

CountDownLatch latch = new CountDownLatch(2);

System.out.println("Let's add 2 subscribers.");
observable.subscribe(new ContributorObserver(latch));
observable.subscribe(new ContributorObserver(latch));

// wait for the task to complete.
latch.await();

System.exit(0);
}
```