Handle service name conflicts on registration

If the local client requests a mDNS service name conflicting with one already
registered in the DNS cache JmDNS will alter the requested service name to avoid conflict before registration.
This change notifies LLService of the altered service name. This fixes issues around
treating the requested service name (actually the service name of a pre-existing peer)
as the local client, as well as treating the altered service name as a foreign client.

Remove logic that cleared the DNS cache when a conflict occurred. JmDNS chooses a
non-conflicting name before service registration so such action is not needed.
Reduce Local Link code duplication.

LLChat now extends Chat.
LLService has ChatManager handle incoming chats.

Removed LLChatListener in favor of generic ChatManagerListener.
Removed LLConnectionListener in favor of generic ConnectionListener.
Removed LLMessageListener in favor of generic MessageListener.