Add a function doing a service rescan.
It simply starts a discovery, but now discovery was modified a bit, so
every service that has replied to our discovery messages is put into
map with responsive services. After a reasonable amount of time (here:
5 seconds), it looks for services that were cached, but haven't yet
responded. Such services are removed from cache with notifying about
them being unavailable beforehand.
This was added so we can do a rescan for services that do not send an
announcement messages when they appear or such messages may get lost
in network.