Replace custom Deque implementation with swift-collection Deque
# Motivation
For AsyncStream we created a custom internal Deque implementation to use for the buffering. This implementation was relatively bare-bones compared to the one in swift-collections. Furthermore, it lacked some methods that we need to implement the new `AsyncStream` APIs that support producer backpressure.
# Modification
This PR copies over the Deque implementation of swift-collections and makes it internal and non-inlinable.
# Result
We now have a fully functional Deque.