Added polkit-authorized DBus service to fix localed's nonsense.

As localed doesn't update /etc/locale.gen and doesn't run locale-gen I needed to create
a new service to do that from unprivileged applications.

This service is published at org.semplicelinux.keeptalking2, /org/semplicelinux/keeptalking2 with
the interface name org.semplicelinux.keeptalking2 (hey!).

The GenerateLocales(s locale, b user_interaction) handles the locale generation.
It is authorized via polkit (privilege org.semplicelinux.keeptalking2.generate-locales).

Authorizing org.semplicelinux.keeptalking2.change-locale will also imply the said generate-locales
and org.freedesktop1.set-locale, so it can be a nice way for UIs to authorize both actions in one shot.

The library API hasn't been changed (a part from the new no_dbus keyword argument in Locale()), and
the it will **automatically** generate the locales when running Locale.set().
service/: fixing my stupidity.
service: publish EnableSavespace, DisableSavespace, PurgeSavespace.

They are authorized via the org.semplicelinux.keeptalking2.change-savespace privilege.
Added no_dbus support on every class and transparently fallback to _offline methods if it's True.
Locale: fix locale.gen appending.

For some strange reason a+ doesn't let us to read the file contents anymore, so...
...ugly workaround ©®™
Keyboard: fix is_supported().
6.21.2
Merge branch 'master' into debian
Depend on python3-dbus and gir1.2-polkit-1.0.
6.20.2-1