Serialized backpressure support proposal.

For #1671

It took me a while to get it working and I'm not sure what tests to write to check backpressure behavior besides the request 5s from a sequence of 15.

In addition, it was a bit confusing when to call onStart, what exactly the setProducer call supposed to do and what to do when noone calls setProducer from upstream. 
We don't need to delay the error ... just emit it and skip everything else. We confirmed this behavior in `observeOn`: https://github.com/ReactiveX/RxJava/issues/1680