PDR analysis

scripts/pdr.sh uses the helper awk script scripts/stats.awk. The scripts
are actually reusable for other stats if some values are changed.
Reorganizing files and config sections
Fixed printing problem in the awk script

There was a strange effect that messed up the resulting line. Had to
change the awk "print" into a "printf" statement.
Separated concerns for ini and ned files

Introduced XML files for groups needed for paper simulations. Fixed a
bug that came out when a node was without groups, and the at() function
was called on the map of groups, launching a std::out_of_range
exception.

Beautified the debug output, maybe uncalled for.
Small fixes

Among the other changes, removed the obnoxious message "object
undisposed of"-like, issued at the end of some simulations. It was
enough to move the deletion of the self-message, received by the
GroupShareApp module, at the beginning of the scope.
Made some variables out of fixed values
Some small changes in the config
Changed some config parameters

Removed some features. This is something said to be dangerous, so beware
of this commit when things start getting crazier than usual.
Distinguished the multicast settings

Now it is possible to choose between using broadcast to forward
multicast packets, or using the "real" multicast. The NED parameter that
controls the transition is useBroadcast, in GroupShareApp.ned, that
changes the mode of creation of the socket for the app.

The implementation still suffers from some issues to be fixed.
snapshot
Added separate node-id conf for GroupShareApp
Removed the long-lasting bug

It took 4 hours to be found (after we realized there was a bug...)
Huge commit (to be split)

This commit provides the right functioning in the case of
mcast-as-bccast and infect-all policy.
gitignore
Now working for bcast and infect-min-path, too
Fix: node does not send up the datagram he created

The reassembleAndDeliver() method was called in the wrong place.
Enforced infection strategy relationship

If infectAll is chosen, then infectMinPath is deselected, and vice
versa.
Had the OLSR module emit a signal

The signal is emitted when a node wants to join a group. The
GroupShareApp manages to get it (by correctly subscribing to the common
parent module).
Working in the 4 main variants

That are: "multicast as broadcast", infecting all or only minpath MPRs;
and multicast "as such", with the 2 types of infection.

There some suspicious code that I commented out because I don't
understand (and, besides, seems to break things):
1) In IPv4.cc: in the routeMulticastPacket() function, there is a test
in the following form: "if (destIE && destIE!=fromIE)", commented:
"don't forward to input interface". I have commented the second part of
the AND out. My understanding is that if I have only 1 interface, and of
course I received on that one (not considering of course the loopback),
then I don't forward the packet. "!"
2) In UDP.cc: the usual findSocketsForMcastBcastPacket() function, with
the AND of the 2 OR tests about remotePort, sd->remotePort,
remoteAddress, and sd->remoteAddress. I inadvertently find myself with
a socket bound locally to the right port (9381), but remotely to 65535.
This seems enough to discard the packet and not having the application
layer getting it delivered.

I'm not sure the useBroadcast parameter is actually needed by OLSR, too.
I'll consider its removal in the following refinements.
Added the 'forward-only-if-mpr' option