Use BaseSubscriber for operators, make them thread-safe (#797)
Use BaseSubscriber for operators, make them thread-safe (#797)

Use an AtomicReference to store the downstream subscriber in an operator.  Get
rid of terminateImpl(), it's easier to just inline all the necessary code (stuff
like BaseSubscriber<U>::cancel()) is now always safe to call).
alexmalyshev/rsocket-cpp,rsocket/rsocket-cpp,ReactiveSocket/reactivesocket-cpp,ReactiveSocket/reactivesocket-cpp,phoad/rsocket-cpp,rsocket/rsocket-cpp,alexmalyshev/rsocket-cpp,phoad/rsocket-cpp,rsocket/rsocket-cpp,rsocket/rsocket-cpp,alexmalyshev/rsocket-cpp,phoad/rsocket-cpp,ReactiveSocket/reactivesocket-cpp,alexmalyshev/rsocket-cpp,phoad/rsocket-cpp,phoad/rsocket-cpp