remove unused schedule_answer method in CurrentCallManager
refactor how tasks are queued to the main thread

Before, if you weren't in the main thread and you wanted to execute
something in the main thread, you needed to call the cb_timer with a
specific dictionary and make sure that the checkqueue method took the
appropriate action when that dictionary was read in the main thread.

Now, you pass a function and its arguments (i.e. a task) to the
queue_task method, which queues it and the task will be eventually
executed in main thread.
extract task queue from the CTIServer class

Also, code using the scheduler are now executing their callback in the
main thread instead of a non-main thread. This was problematic for the
PeopleCTIAdapter/Dird class, where there was a race condition.