Fix OperationCancelledException and add IAsyncEnumerable to wait without thread blocking (#1562)
* Fixed Task Scheduler operation cancelled error caused by Orphaned RunCleanup task on RequestQueue not being awaited on dispose
* Added async disposable interface to various components
* Added incorrect early marking of disposed for DiscordSocketApi client
* Added general task canceled exception catch to cleanup task
* Fix merge errors
Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
Co-authored-by: quin lynch <lynchquin@gmail.com>