Inbox tweaks: better metadata handling, peer username now works

The idea behind this patch is to only ever get metadata en-mass when retrieving messages. The app dev can then handle each new message at a pace that makes sense for the hardware/bandwith, etc 
Why left join? Is it for a case where a user could be deleted?