Remove unnecessary os.path.exists before safe_makedir, add creation of 'logs' dir at project level
Add rotate_log function, modify execute_command_line so we can set shell=True
Record exit code for all Piper processes into a specific file