WL#6606: Offload THD initialization and network initialization to worker thread

Affects: Server-5.7   —   Status: Complete

Initialization of THD and it's vio/net initialization happens in the acceptor 
thread that accepts the connection. THD and network initialization involves
acquiring locks, memory allocation of various structures and system calls 
which are compute-bound as well tasks that may block. The acceptor thread
is basically a event loop that waits for new connection events from clients.
To maximize the number of connections that can be handled per unit of time,
the acceptor thread should spend as much of it's time listening for new 
connections. This means that the thd initialization should be offloaded
from the accept event loop and delegated to worker threads that handle the
client connections.
This worklog should evolve a generic framework which offloads THD initialization
and net/vio initialization to worker for all types of communication channels
(shared memory, named pipes and sockets) that client connects with the server.
In addition, this worklog will refactor the existing interfaces of the struct
scheduler_functions into an object-oriented API and refactor necessary relevant
code that concerns it.

User Documentation
==================

http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-2.html