OnErrorFlatMap & FlatMap

Allow onError to be treated as a non-terminal event when flowing through flatMap/merge/SerializedObserver so onErrorFlatMap can be used.