This fix addresses cleanup work from https://phabricator.services.mozilla.com/D194828
It also makes it so that all file/protocol handlers get set with one launch of Powershell, to speed things up. Which it does. A lot.
It also:
* makes somethings use of nsString (where it was easy to do)
* moves the thread managing code out of SetDefaultBrowser.cpp and into DefaultAgent.cpp
* puts auto in a couple of places to make the code easier to read
* removes some logging statements in the powershell script code
Differential Revision: https://phabricator.services.mozilla.com/D195839