Reorganize mDNS advertisement.

mDNS is now handled more or less in the same way audio is.
Multiple mDNS providers are available, shairport tries tries them all and picks the first on that works.

This makes it, IMHO, cleaner, and easier to add other mDNS providers in the future, such as using tinysvcmdns or dns-sd library.
Also it will also allow to define mDNS providers as plugins, in a similar way it is done in PR #230.