workqueue: ROGUE workers are UNBOUND workers

Currently, WORKER_UNBOUND is used to mark workers for the unbound
global_cwq and WORKER_ROGUE is used to mark workers for disassociated
per-cpu global_cwqs.  Both are used to make the marked worker skip
concurrency management and the only place they make any difference is
in worker_enter_idle() where WORKER_ROGUE is used to skip scheduling
idle timer, which can easily be replaced with trustee state testing.

This patch replaces WORKER_ROGUE with WORKER_UNBOUND and drops
WORKER_ROGUE.  This is to prepare for removing trustee and handling
disassociated global_cwqs as unbound.
[1/2] kernel: workqueue: backport from 3.9 and include patches from Neobuddy89

See:

https://github.com/neobuddy89/hammerhead_kernel_caf/commits/kitkat-caf/kernel/workqueue.c
[2/2] kernel: workqueue: Adapt related changes to headers and fix code syntax in main driver