Provide a cg_completion_timeout helper function for unreliable functions that takes arbitrary functions and parameters and reliably returns.
Fix cgcompletion return code and free on successful completion.
Use cgcompletion timeouts for the unreliable shutdown functions on kill_work.