Manual merge of Lock-free, MPSC-queue based

Pulling in the MPSC queue from https://github.com/Netflix/RxJava/pull/1235. Leaving out the SerializedObserver change until further analysis. Getting this data structure in as we likely want to use it in other places.

Moved it into rx.internal.util and added a README so it is very clear this is an internal package and not part of the public API.