Added avahi publishing, pretty much just copied all of the avahi examples and modified them to fit C++ a little better, and removed some superfluous stuff in the examples, getting hosts may not work yet