Make Desktop and Embedded interoperable

A compiler flag now allows to select what
kind of multicast technique we desire to
use (note that in embedded we are using
a different set of methods due to the
multithreaded UDP polling implementation).

Refer to the code modifications for more details.