Merge pull request #952 from zsxwing/amb

rxjava-scala improvements and reimplemented the `amb` operator
Merge pull request #955 from akarnokd/ReplaySubjectLeakFix

Fixed ReplaySubject leak
Merge pull request #956 from akarnokd/StringObservableTestFix

Fixed byLine test to use line.separator system property instead of \n.
Merge pull request #958 from akarnokd/OperatorSkipWhile

OperatorSkipWhile
Merge pull request #959 from rickbw/toFuture-cancellation

OperationToFuture must throw CancellationException on get() if cancelled
Merge pull request #928 from akarnokd/SubscribeOnBoundedFix

Fix deadlock in SubscribeOnBounded
Retry Unit Test from #879

From https://github.com/Netflix/RxJava/issues/879
Merge pull request #960 from benjchristensen/issue-879-unit-test

Retry Unit Test from #879
OperationSynchronize -> OperatorSynchronize
OperatorSerialize
not quite functional ... and slow
Functional now ... it seems.
Migrate Merge from Synchronize to Serialize
Experimenting with different implementations and performance
Clarify names during testing
Unit tests for each
Unlock in finally block
queue and lock implementation
SerializedObserver and SerializedSubscriber

Using the "queue and lock" implementation which won our performance and production testing.
Synchronize -> Serialize

- migrate all usage to Serialized instead of Synchronized
- remove implementations of SerializedObserver that lost the competition (performance and testing in production)