Nuclei.Communication: Endpoint information should be removed if endpoint is determined to be disconnected

At the moment the information about a remote endpoint is 'cached' until a sign-off event is received, however this event may never arrive if the remote endpoint does not send it out. There should be a way to indicate that an endpoint has disappeared (e.g. when message delivery fails).