* Refactor main.ts dependencies into singleton pattern
* Split main.ts into testable pieces, some other refactoring for singleton pattern
* Unit tests for main/app/app
* Unit tests for main/app/config
* Unit tests for main/app/initialize
* Unit tests for main/app/intercom
* Unit tests for main/app/utils
* Add some more tests to get to 70% coverage
* Fix for linux
* Fix for alternate data dir paths
* Fix E2E test