PIMSM: renamed flags, added fields for related route entries
PIMDM: renames
PIMSM: renames
PIMDM: store pointers in the routing table
PIM: extracted base classes