Part of #74250
- Extend `Disposable` in classes where it makes sense
- Use `DisposableStore` for lists of disposables
- Make `combinedDisposable` take arguments instead of an array (so that you can't pass in an array and then modify the array after the fact)