Log: controller: make executor result messages more consistent
This refactors log_executor_event() to use GString, which allows us to add info
conditionally rather than have separate messages for each condition, thus
making the final message more consistent.
Also, timeouts now log readable intervals, for example "Timed Out after 30s"
instead of just "Timed Out" with "timeout=30000ms" in the extended log info.