* Add failure handling for file integrity check
This is now what is hitting the EPERM and ENOENT errors.
We need to skip the check and see what happens from here, such as allowing to elevate via windows.
This also adds specific handlers for when we fail to download the SDK.
* elevate on windows
* Retry if no permission is available the first time
Need to double check that cancelling is handled properly now that its a promise reject
* respond to linter
* Add API to uninstall any install
* Add tests
* undo bad save
* dont uninstall if there are multiple owners
* add some basic uninstall capability
* allow elevation on mac
* fix promise chain a bit, may need to await still
* add uninstall functionality to linux
* add uninstall on linux
* fix merge
* Add a test
* add ui element to pick uninstall
we need to fix the uninstallglobal functoin logic to print out and such still
then test it
* add some output, need to test and check graveyard
* add uninstall events
* fix build
* Fix uninstall to pop up above window
* ui changes per request
* fix test
* fix merge err
* fix mac test
* fix name option
* fix promise logic
* fix promise code again xd
* Add icons for the extension
* add icons to shield and uninstall
* set minimum vscode version to require new icons
* dont sort if no install exists
* use noninteractive frontend in master process to fix dpk unable to re open stdin on uninstall
* try to exit sudo process master and set env var for stdin uninstall fix
* fix eventstream
* fix detection logic for uninstall
* add -y to uninstall
* fix bug with uninstall
* add version check for when disk is full and version string ui fails
* also kill sudo process on uninstall
* use -f to delete file as they may not exist and we dont want to fail due to this at the end
* add -y to update
* respond to linter
* remove unnecessary img
* respond to linter
* respond to pr feedback
* fix when extension may have null record