Add a wrapper around the mdns interface implementation.
This might seem weird, but it's preparation to do more implementation work on Windows. Possibly also macOS, as it's weird that Avahi appears to be used and not Apple's version.
Testing Done:
Compile on both, and run on Linux.
Reviewed at https://reviews.imfreedom.org/r/315/
# UPDATING VERSION NUMBERS FOR RELEASES
#
# The version number is:
# <major>.<minor>.<micro><extra>
#
# micro += 1
#
# If any functions have been added to libpurple, Pidgin, or Finch:
# micro = 0
# minor += 1
#
# If backwards compatibility has been broken in libpurple, Pidgin, or Finch:
# micro = 0
# minor = 0
# major += 1
# purple_soversion += 1
#
# extra should be similar to one of the following: