Depending on the kind of network, we should raise an exception. Indeed such information should not be available in anonymous networks. We will add such checks later.
with algo several actions, and allow lurette to chose them.
and reuse it for Neighbor, which make the naming more consistent.
Also add the list of neighbors to the init function. The rationale is that to give a sensible initial value to local vars of type 'Neighbor', we need the neighbors number. I could have chosen to pass an integer only. Well, who can the plus can the minus.