Added search box to ExtensionManager dialog.
Start of refactoring to allow model to inspect local in addition to registry extensions
More refactoring of ExtensionManagerViewModel
Make unit tests work with fake registry/repo URLs
Model refactoring finished
Basic installed extension listing UI working
Implemented extension removal (doesn't yet force restart)
Added Quit on Restart dialog
TODO cleanups
Code review fixes
* Fix unit tests to not rely on actual dialog template existing
* Sort extension names case-insensitively
* Escape author name/link/id (required copying a small amount of code for escaping HTML
  since this is shared with brackets-registry)
* Other minor nits
Merge with master
Merge pull request #3793 from adobe/nj/extension-removal

Implement extension removal story