YtsContact: remember and replay service statuses for added services
YtsContact: remember and replay service statuses for added services

To reproduce a critical:
* kill and restart MC
* kill and restart Salut
* run the demo client as of commit c792a82
* run the demo service (on the same laptop)

The client often receives the service's status (a pseudo-PEP message)
before it receives its capabilities (a XEP-0115 stanza). No order can
be guaranteed for those two, because they follow different paths:

status:
* service receives client's _ytstenut._tcp
* service pulls caps from client
* service observes that client is interested in status
* service pushes status to client

caps:
* service sends its own _ytstenut._tcp
* client pulls caps from service

This previously resulted in a critical warning and failure to process
that status message. Now, the status is cached for future reference,
and when the caps are retrieved, the old status is re-played.

freedesktop-unofficial-mirror/ytstenut__ytstenut-glib,freedesktop-unofficial-mirror/ytstenut__ytstenut-glib