Handle testing and IPC on separate threads.

RFMonitor has two threads, on for IPC and other for testing. The earlier
architecture made IPC thread invoke testing functions. So this patch
segregates the two threads, with the main thread handling testing on the
given dictionary of controllers and IPC thread adding new entries to
dictionary when new controller spawns.

Signed-off-by: Srijan Mishra <srijan23mishra@gmail.com>
Acked-by: Joe Stringer <joestringernz@gmail.com>