Added `Observable.timeout` wrappers to scala adapter

Added the four timeout methods on Observable in the Scala adaptor. Note
for the java/scala type interop:
http://stackoverflow.com/q/20912151
Deprecate multiple arity ‘from’

- added @Deprecated annotations where it was only part of the Javadoc
- deprecated ‘where’ which is a duplicate of `filter` kept from early days matching Rx.Net
Merge pull request #723 from benjchristensen/deprecation

Deprecate multiple arity ‘from’
Revert use of CurrentThreadScheduler for Observable.from

Use ImmediateScheduler as performance is 4x faster and CurrentThreadScheduler currently offers no benefit (it doesn’t solve the unsubscribe problem).

Performance numbers:

     * Observable.from(Arrays.asList(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L), scheduler);
     *
     * --- Schedulers.immediate() ---
     *
     * Run: 0 - 1,849,947 ops/sec
     * Run: 1 - 2,076,067 ops/sec
     * Run: 2 - 2,114,688 ops/sec
     * Run: 3 - 2,114,301 ops/sec
     * Run: 4 - 2,102,543 ops/sec
     *
     * --- Schedulers.currentThread() ---
     *
     * Run: 0 - 548,862 ops/sec
     * Run: 1 - 559,955 ops/sec
     * Run: 2 - 581,412 ops/sec
     * Run: 3 - 562,187 ops/sec
     * Run: 4 - 565,723 ops/sec

     * Observable.from(Arrays.asList(1L), scheduler);
     *
     * --- Schedulers.immediate() ---
     *
     * Run: 10 - 4,113,672 ops/sec
     * Run: 11 - 4,068,351 ops/sec
     * Run: 12 - 4,070,318 ops/sec
     * Run: 13 - 4,161,793 ops/sec
     * Run: 14 - 4,156,725 ops/sec
     *
     * --- Schedulers.currentThread() ---
     *
     * Run: 10 - 1,692,286 ops/sec
     * Run: 11 - 1,765,054 ops/sec
     * Run: 12 - 1,763,100 ops/sec
     * Run: 13 - 1,770,907 ops/sec
     * Run: 14 - 1,732,291 ops/sec
Simpler computation/io naming for Schedulers

- simpler (no one remembers the current names when talking about them)
- does not tie naming to a particular implementation involving thread pools versus a pool of event loops or something similar (as we likely will change the implementation, see https://github.com/Netflix/RxJava/issues/713)
Merge pull request #724 from benjchristensen/revert-current-thread-scheduler-usage

Revert use of CurrentThreadScheduler for Observable.from
Merge pull request #725 from benjchristensen/schedulers-naming

Simpler computation/io naming for Schedulers
The test has to wait on each action independently.
Reduced the size of the iterable because I think it was blowing through the stack.
ToObservableIterable Recursion/Loop

- the ImmediateScheduler no longer schedules itself but uses a loop
- 10-20x faster to use a loop rather than schedule itself recursively
Merge pull request #727 from benjchristensen/iterable-to-observable-immediate-scheduler

ImmediateScheduler optimization for toObservableIterable
0.16.0-SNAPSHOT
Implemented the rest 'merge' overloads
Added unit tests
0.16.1-SNAPSHOT
Version 0.16.0
Improve Error Handling and Stacktraces

The stacktraces were a mess when onError failed or was not implemented and unsubscribe also failed.
That is a far edge case and means code is broken and breaking the Rx contracts … but that’s just when we need clear stacktraces.
The CompositeException and SafeObserver class now do a dance and wire together a causal chain to provide a stacktrace that can identity all the points of error.
Also standardized and simplified the RxJavaPlugin.onErrorHandler while working in the vicinity.

This came about after I was asked to help debug a problem and couldn’t do it by looking at the thrown exception, I had to use a debugger and step through.
Merge pull request #730 from benjchristensen/unsubscribe-error-handling

Improve Error Handling and Stacktraces When Unsubscribe Fails
Replaced 'Thread.sleep' with 'CountDownLatch' to fix the flaky test failures
Merge pull request #720 from hura/master

Added `Observable.timeout` wrappers to scala adapter
Merge pull request #731 from zsxwing/flaky-unit-tests

Replaced 'Thread.sleep' with 'CountDownLatch' to fix the flaky test failures