Don't offer to join beyond maximum participants

This is patch checks to see how many participants are sharing an
activity. If the maximum has been reached, then the Join palette menu
item is not shown.

This patch depends on two patches to sugar-toolkit-gtk3 (#138) that
enable setting max_participants in activity.info and only impacts
activities where that field has been set.

Also, since we added caching of activity bundles in the toolkit, we
take advantage of that caching in view/viewhelp.py,
view/viewsource.py, and journal/misc.py to reduce file I/O.

Replaces #339