assistant: Limit amount of concurrent completion requests (#13856)

This PR refactors the completion providers to only process a maximum
amount of completion requests at a time.

Also started refactoring language model providers to use traits, so it's
easier to allow specifying multiple providers in the future.

Release Notes:

- N/A
c4dbe32f20Bennet Bo Fenner committed on 7/5/2024, 12:52:45 PM· committed by GitHubparentf2711b2
11 files changedLine totals unavailable