* due to server bugs, some offline buddies are still notified on publication,
causing error reply, that pep accepts as event. check message type/presence of error tag.
* check input/output for validity, where applicable
* extract common code into one place
* add avatar
* pep_avatar, avatar_cache, avatar, aavatar (separate)
* hook_avatar_metadata_in @ pep_avatar
| hook_avatar_need_data_in (or symbol-resolved request) @ avatar_cache
V hook_avatar_data_in @ pep_avatar
hook_avatar_in @ avatar_cache
* (!!!) how to handle outgoing event? what and where should do what?
* handle url avatars (curl)
* report absence of avatar