more sanity check for Channel life time, to prevent dangling pointers.
pull up Poller::hasChannel()
disconnect before destructing TcpClient.
update url in curl download example.