Add-on store: Group by add-on status, install from external source (#14824)
Part of #13985
Summary of the issue:
A user may wish to view installed add-ons in the add-on store.
A user may wish to group add-ons in the add-on by status (installed, available, updatable, etc).
A user may wish to install add-ons from an external source via the add-on store.
Description of user facing changes
The add-on store now shows all add-ons, installed or available on the add-on store.
Users can group add-ons by status.
Users can also install add-ons from an external source via the add-on store.
This PR finishes duplicating functionality from the legacy add-ons manager, meaning that the add-ons manager can be removed.
Fixes various graphical bugs with the add-on store.
Description of development approach
Ensure add-on IDs are tracked in a case insensitive manner.
This is because there may be collisions if add-on authors change the casing of their add-on ID, and case variations of add-on IDs should be treated as the same add-on.
Create a new model for displaying information in the add-on store, which can take data from an add-on manifest or from add-on store data.
Create a selection filter for grouping add-ons by status.
Add a button for installing add-ons from an external source, using the add-ons manager approach.