Breaking down the network class in network::listen and network::server d...

Break down the network class in network::listen and network::server defined types to allow multiple declaration of those. 
I included new travis checks and partial sanity checks. 

Beware, that breaks compatibility for people using the network class since I deleted a lot of its parameters