Fixed first emission racing with pre and post subscription.

There was a subtle race between the subscription and emission which delayed the delivery of the first emission if it happened between the pre- and post-subscription of a subscriber. The fix is the same logic used by the BehaviorSubject to avoid the same problem.
Ah, so it's `replayObserver` and `onAdded` that are being synchronized. That's the connection I wasn't making. Thanks.