Implement mDNS Service

This service listens on a TCP/UDP port, and dispatches requests to a
single method for parsing and handling.

Each incoming request is handled in a greenthread spawned specifically
for that request, allow for >1 concurrent requests.

Additionally, the "workers" config option allows for multiple distict
processes to be spawned for the service, all sharing the same socket,
to allow for >1 CPU core usage.

Change-Id: I173f4640a50b56f52c0371bae47b84ce44301263
Merge "Implement mDNS Service"