Bug Fix
Utils
the 2nd scoped 'thisArg' element if the caller passes an array is not used in some cases in 'execIf' and 'wrap' utility functions, and 1st specified scope is used instead
Bug Fix
Version
the 'parseVersion; function return value is not typed
Refactoring
Fs
re-implement readJson* functions to use low level promises as opposed to async await, intended to resolve strange  random issue of await being abandoned