conversation-list: cache participants list

Markup generation requires lots of resources to walk through lists,
build strings, compare strings, etc.  And all of this gets done on every
draw of conversation-list widget for every conversation. Let's save up
some resources by caching the markup.

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
5 jobs for emphasize-participated-in in 29 minutes and 50 seconds (queued for 1 second)
Status Job ID Name Coverage
  Build
passed #283452
fedora

00:10:24

passed #283453
ubuntu

00:12:01

 
  Test
passed #283454
flatpak

00:16:20

 
  Deploy
passed #283455
review

00:00:59

failed #283456
allowed to fail manual
stop_review

00:00:28

 
Name Stage Failure
failed
stop_review Deploy
 * [new tag]         geary-0.8.0             -> geary-0.8.0
* [new tag] geary-0.8.1 -> geary-0.8.1
* [new tag] geary-0.8.2 -> geary-0.8.2
* [new tag] geary-0.8.3 -> geary-0.8.3
* [new tag] geary-0.9.0 -> geary-0.9.0
* [new tag] geary-0.9.1 -> geary-0.9.1
Checking out e461ba49 as emphasize-participated-in...
fatal: reference is not a tree: e461ba49070e8909b7372a0a43a72ae0f87dc62f
ERROR: Job failed: exit code 1