Fixes flag bug on work_queue_reset, clarifies reset.

Before we had

if(flag & WORK_QUEUE_KEEP_TASKS)

but WORK_QUEUE_KEEP_TASKS was zero, thus the test always was false.

I changed WORK_QUEUE_KEEP_TASKS to 2, leaving 0 as the reset for workers
and ready_list.

I also removed the & of flags, since the two options (KEEP_TASKS and
RESET_ALL) are mutually exclusive.