Merge Bug: Missing Emissions

Notes and temporary fix using `synchronized` to achieve correctness until a proper solution can be found.

This code does not exhibit the issue when I do production testing. Without the two `synchronized` methods I get errors in prod that I've temporarily added to `BlockingOperatorToIterator` until this is fixed so it's visible.

```
/apps/tomcat/logs$ tail -f catalina.out |grep "Timed out waiting for value"
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
Timed out waiting for value. File a bug at github.com/Netflix/RxJava
```