Work Queue Cleanup Global Variables

Removed last two global variables in work_queue.c and converted into instance variables.
Moved computation of message timeout into send_worker_msg for consistency and clarity.