CGIV-4084 Add initial implementation of locking - not tested
CGIV-4084 Add functions to handle locking and logging
CGIV-4084 Use locking to avoid running multiple instances and use log file to report errors instead of stdout
CGIV-4084 Improve error logging by buffering the satis process output and displaying it at the end
CGIV-4084 Remove unnecessary shutdown function - call releaseLock directly