refactor: extract executor and make execution explicit

"file_list_modified" event does not always trigger the test run, only if autoWatch is true.

This is for WebStorm, so that it is possible to trigger test run without "file_list_modified".
feat(runner): add --no-refresh to disable re-globbing

This is for WebStorm, which takes care of watching on its own and updates fileList directly through the plugin.
refactor: web-server does not expose updateFilesPromise()