imports: add known third party libraries
py3: Use double backslash instead of ur-string literals
i18n: Remove translate.i18n

This is currently unused. It is also causing problems on python 3 due to
the use of __builtins__. Since we don't really need it at the moment, it
is safe to remove.
py3: tests: Use double backslash instead of ur-string literals
trados: Use BeautifulSoup4 instead of obsolete version 3
py3: Add unicode() shims for Python 3
py3: Consistently use os.walk instead of os.path.walk.

os.path.walk is deprecated, and removed in Python 3. This requires a
minor behavioural change.
See: https://bugs.python.org/issue4601
py3: Always use cStringIO to import StringIO

StringIO.StringIO is obsolete.
When we'll move things fully towards Python 3 we might have to deal with
io.BytesIO instead of io.StringIO.
py3: storage: Replace some instances of dict.iteritems() by dict.items()

For our use case, they are interchangeable. On Python 3, we only have
access to dict.items()
misc: Drop dictutils.generalupper
misc/dictutils: Use keys() instead of iterkeys() where possible