Implement tabs in ExtensionManagerDialog

Also...

* fix search field interaction when moving between tabs
* add bootstrap tabs for 2.3.1, remove old tabs
* fix model state when `downloadRegistry` fails
* implement extension update workflow in both installed and available tabs

@dangoor or @njx to review?