Adds an "expired" field to the endpoint to track endpoint expiration.
Fixes issues with the selected endpoint handling.

Endpoint instances now keep a reference to the selected endpoint object,
instead of holding the selecting endpoint ID.

Holding the selected endpoint ID could lead to problems if, for example,
the endpoint expired and another endpoint with the same endpoint ID
joined the conference.