relay: add a validity parameter to conversation

* a conversation is invalid if the data it contains is no longer reliable
* in implementations this is when:
  - for a server - currently never
  - for a channel - when the user parts/is kicked from the channel
  - for a query - when the query is closed