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
1.  Update javadoc in regard the blocking nature if the observables are running in the same thread.
2.  Add new test case to show unsubscribe() working correctly if all observables are running on different thread.
Merge branch 'issue202' of https://github.com/abliss/RxJava into issue202
Merge branch 'master' of https://github.com/Netflix/RxJava into issue202