Fix Mono.publish(Function) not propagating onError (#2625)
This commit fixes the drain loop of MonoPublishMulticast so that it now
correctly takes captured `onError` into account.
The operator would previously only propagate the error to late
subscribers, but not live ones.
The unit tests have also been cleared (removal of unnecessary public
modifiers, small amount of formatting) and the normal+fused case has
been fixed to actually trigger a fused path.