add connection pool class
add some connection pool functionality

 * it creates new connection for each new socket
 * it drops the corresponding connection if the socket is deleted
 * it deletes a connection only once
 * move connection class to separate header file