Logging in `async_stream` wasn't displaying log spans correctly, this PR fixes that.
I needed to introduce a new dependency `tracing-futures` (official package from `tracing` vendor) because the core `tracing::Instrumented<T>` doesn't implement `Stream<T>`. With this dependency, we can use `Stream::instrument()` and `Stream::in_current_span()` which is required to correctly trace streaming logs.
Depends on D6246
**Question:** Should we display `user_id` in logs? Or is it sensitive data?