Do not cache BuddyMenu in favorites view

Let BuddyMenu be created on-demand.

Remove set_registered method, as this palette is now
created on-demand, makes no sense to modify the current
items as these will be set properly in the next
initialization.

Remove _palette_enabled as this is deprecated code
from previous palette implementation.

Remove self._register_menu and simplify code.

This partch avoids #2184 issue for the buddy icon
palette in favorites view.

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
More robust locale matching

The locale that is set by the manufacturing data can be of the format
es_UY.UTF-8 where as the format of the locales we get from parsing
available languages is es_UY.utf8

This patch converts UTF-8 suffixes to utf8

Note that this problem has only been observed on OLPC XO images. I was
unsuccessful in convincing OLPC to change their rules for generating
manufacturing data.

Replaces PR #338
Merge branch 'buddy-palette-nocache' of https://github.com/tchx84/sugar into tchx84-buddy-palette-nocache
Merge branch 'tchx84-buddy-palette-nocache'
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