Generalize examples

Increasing the numbers of users and separating the classes
@nestorjhernandezm This is a hack! It is almost like pointer arithmetics ;)
You should use an std::map <ns3::Ptr<ns3::Socket>, rlnc_decoder::factory::pointer> to create a mapping between the sockets and the decoders. These vectors are not good for the job. I would remove the vectors, just use one map instead.