Reduce the scope of locking to increase parallelism.

In my rxmon project https://github.com/vigdorchik/rxmon I make heavy use of combineLatest. This change that reduces the scope of locking should help increase combineLatest throughput. I wish I could report the sppedup numbers, but I couldn't find how to publish RxJava to maven locally to try it out.