extensionUtils: Prepare extensionUtils for ESM port
extensionUtils: Add utility for installing current extension
ES modules do not allow exports to be overriden, in anticipation
of the ESM port add a `setCurrentExtension` utility which will
throw if used in the shell. This is tested using a conditional
import of Main.
environment: Remove inline import of extensionUtils
The logging function cannot be asynchronous, so move the override
into main.js where ExtensionUtils can be imported. Importing
ExtensionUtils in environment.js is not possible because it would
import Main prematurely.
ci: Switch ESLint rule eqeqeq to smart mode
This allows comparisons like != null and == null while still erroring
on other usages of == and !=.
Edited by Evan Welsh