Yield return of task means we have to expose it as IObservable. So pull in Rx for now.
Fix the usage of buffer pool array segments.
Correctly dispose of socket as we are returning a task.
Wait for connection to become available before attempting to use it when using Riak connection pool
Move to IObservable from IEnumerable