Reimplementation of Concat, improved handling of Observable<Observable<T>>.

The old version required all of the Observable<T>s to be generated and buffered
before the concat could begin.  If the outer Observable was asynchronous, items
could be dropped (test added).  The new version passes the test, and does the
best job I could (after examining several possible strategies) of achieving
clear and consistent semantics in accordance with the principle of least
surprise.
Incorporate review feedback.

Also restore the errant change to settings.gradle.
Merge branch 'upstream' into issue202
Merge branch 'master' of git://github.com/Netflix/RxJava into issue202
Merge branch 'issue202' of https://github.com/abliss/RxJava into concat-merge
1.  Update javadoc on subscribe() blocking if observables are running on the same thread.
2.  Add test case with infinity observable.
3.  Add test case to unsubscribe() with all observables running in different thread (non-blocking).
Merge pull request #223 from billyy/concat-merge

Concat merge