Synchronization of Merge operator (fixes)

- return AtomicSubscription not MergeSubscription which I was accidentally still returning
- try/finally in unit test so threads are released even if assertion is thrown