ObserveOn Error Handling

Proposed solution for https://github.com/ReactiveX/RxJava/issues/1681 and https://github.com/ReactiveX/RxJava/issues/1680

Conceptually a better way of doing this is for line 145 above to clear the queue and add just the single error.

There wasn't an obvious way to do in a thread-safe manner when I wrote this code ... but we can definitely improve to enable that.