Ensure entity value is type str

There are times when the entity value passed in for substitution
is of type unicode. This causes Rsvg to fail when processing the
SVG. This patch checks for unicode and converts it to utf-8.

Fixes #4621
Commit from Sugar Labs: Translation System by user cjl.: 40 of 40 messages translated (0 fuzzy).
Fix translations in non standard prefix

This drops a lot of code at the same time. The code in
__init__ was:

* Using a SUGAR_PREFIX environment variable that is not
defined anywhere
* Hardcoding prefix to /usr
* Setting up the sugar-base domain which doesn't exist anymore

The i18n module code was overcomplex because it was thought
for language packs which we don't support anymore, it was
not handling correctly locales with a country prefix, it
was hard coding the python prefix and it was not sorting
the directories as it intended too anyway.

The logic is very simple now. Use the locale directory in
the same prefix sugar-toolkit-gtk3 was installed, unless
SUGAR_LOCALEDIR is defined (for self contained bundles).
Fix translations domains to point to new toolkit
Update .gitignore
Revert "Fix translations domains to point to new toolkit"

This reverts commit abe0de3ef8ebd6c29fa7704d3ded8c2fb51e910a.
Fix translations domains to point to new toolkit
Bind the new toolkit domain
Remove unused imports
Add a SUGAR_HOME environment variable

We should really use XDG directories but that will be a bit
more complicated and require migration scripts. This is a
short time solution to "expose" the dot sugar directory in
sugar-build.
Make the debug script profile aware
Remove duplicated code

And deprecate duplicated function.