Naive schedulers implementation
New operation Finally (issue #43)
Add finally0 to Observable.java .
Missing import
Added nonstatic Observable.finally0
Incoporate review suggestions.

Splits a compound unit test into to parts.
Uses mockito instead of a bespoke test object.
Removes unused import statements.
Changes the order of the Finally action w.r.t. onComplete/onError.
Added ScheduledExecutorServiceScheduler
Added to Schedulers
More tests
Headers
ObserveOn/SubscribeOn unit tests
Some documentation
Documenting code
renamed tests
Extracted ScheduledObserver as a separate class
Synchronize Observer on OperationMerge

fixes https://github.com/Netflix/RxJava/issues/200

This is necessary because by definition Merge is subscribing to multiple sequences in parallel and is supposed to serialize them into a single Observable.
Synchronization of Merge operator (fixes)

- return AtomicSubscription not MergeSubscription which I was accidentally still returning
- try/finally in unit test so threads are released even if assertion is thrown
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.
Add tests to demonstrate bugs
Merge branch 'upstream' into issue43