gettextutils: port to Python 3

- Everything's unicode in Python 3, so ugettext() has been removed.
  Let's use gettext() instead.
- Don't rely on builtins, and fix various unicode compatibility.
- Simplify check if a dict as params works; the test MIGHT work most
  of the time, but there is _no_ guarantee that str(somedict) returns
  always the result; in Python 3, sometimes the keys are iterated in a
  different order, returning a different result. Since anyway the dict
  is converted using str(), there's no really point for this test.
  We just a dict with one item to avoid the item order issue.

Change-Id: I1fc8991b3387dd56627b9f7f7833d2971cab059f
Merge "gettextutils: port to Python 3"