Notifications for the allocation adverse.
Merge pull request #970 from abersnaze/notification-lite

Notifications for the allocation adverse.
Merge with Serialize

- concurrency unit tests
- handle Observable that emits onComplete multiple times
Merge pull request #973 from benjchristensen/merge-handle-bad-observable

Merge with Serialize - Handle Bad Observables
TestSubject, TestObserver and TestScheduler Improvements
Merge pull request #974 from benjchristensen/testing

TestSubject, TestObserver and TestScheduler Improvements
GroupBy & Time Gap Fixes

I ran head-on into the "time gap" (https://github.com/Netflix/RxJava/issues/844) issue while working on a stream processing use case (and new 'pivot' operator I'm writing).
This is a solution. It's still not ideal as the Javadocs of BufferUntilSubscriber mention, but this is working better than nothing and does not require blocking threads.
A better solution will come as part of the back pressure work where BufferUntilSubscriber will evolve to have a bounded buffer.
Merge pull request #975 from benjchristensen/groupBy-fixes

GroupBy & Time Gap Fixes
Compilation Fix
Fix Unit Test Assertion
parallel-merge unit test assertions

Using serialize for merge allows less threads to be used under contention instead of blocking and using them all.
This changes the assertion to be <= 3 instead of == 3 because of that.
Merge pull request #976 from benjchristensen/parallel-merge-assertions

parallel-merge unit test assertions
Dematerialize - handle non-materialized terminal events
Merge pull request #977 from benjchristensen/dematerialize

Dematerialize - handle non-materialized terminal events