Concurrency Fixes for RxRingBuffer & Merge

Possible fix for #1420

I was unable to exactly reproduce the issue, but was able to create a possibly related one. This fixes it.
It also simplifies the logic and code somewhat, at a possible small performance cost for these:

```
r.o.OperatorMergePerf.merge1SyncStreamOfN            1000  thrpt         5    59407.716     2073.945    ops/s
r.o.OperatorMergePerf.merge1SyncStreamOfN         1000000  thrpt         5       66.557        2.693    ops/s
r.o.OperatorMergePerf.mergeNSyncStreamsOfN           1000  thrpt         5       59.293        5.046    ops/s
```

Wouldn't queue.isEmpty() be better in that case, since it's often an optimized method separate from the implementation of size() (see ConcurrentLinkedQueue for instance), and be clearer since what you want to check is if the collection is empty?