add connection class

 * move the::net::Data declaration to separate header file
 * add user interface of connection class
 * delete copy constructor and assignement operator of Socket
 * move ring_buffer.hpp to include folder
 * move RingBuffer to the::net namespace
 * connectio calls_low_level_send_callback_only_when_waken_up
 * connection sends all buffered messages when waken up
 * connection returns all messages from the network
 * delete copy constructor and assignement operator of connection