Implement a cached thread scheduler using event loops
Lock-free, MPSC-queue based, fast-path serializing Observer.
Merge branch 'master' into cachedthreadscheduler2
Switch to use NewThreadScheduler.RxThreadFactory
Switch to AtomicIntegerFieldUpdater and volatile int, instead of AtomicBoolean
Better name for worker class running scheduled actions
Declare Scheduler classes in CachedThreadScheduler as final
Reduce Subscription Object Allocation

- significant reduction in object allocations
- details on research available at https://github.com/Netflix/RxJava/issues/1204
Merge pull request #1281 from benjchristensen/composite-subscription-performance

Reduce Subscription Object Allocation
Merge branch 'SerializedObserverPerf521' of github.com:akarnokd/RxJava into util-with-mpsc
Revert SerializedObserver Changes

Not ready to merge these.
Move MPSC Queue to rx.internal.util
Merge pull request #1284 from benjchristensen/util-with-mpsc

Manual merge of Lock-free, MPSC-queue based
Version 0.18.4
Rename classes starting with Operator that are actually OnSubscribe implementations to start with OnSubscribe
Merge branch 'master' of https://github.com/Netflix/RxJava into operator-to-onsubscribe
fix GroupBy and GroupByUntil which are actually Operators
Removal of ConcurrentHashMap from ReplaySubject and some NotificationLite cleanup.
Remove duplicate NotificationLite.
Ensure StringObservable.from() does not perform read when already unsubscribed because read could block