Generalize examples

Increasing the numbers of users and separating the classes
Yes they are, I think `typedef [en|de]coder_pointer = rlnc_[en|de]coder::factory::pointer;` will do the trick here