Add probing and various fixes and improvements.

I am reading though the related RFCs again and here is a batch of small updates. Notable is that the announcement code is now handling the probing sequence. You can test this by running
`node examples/service.js` multiple times and observe e.g. running `mdns-scan`.