This moves the UserAccounts panel to a page in the System panel.
This simplifies a lot of the existing code in the UserAccounts panel.
I did minimal changes to the sub dialogs so that those can be touched
in following changes, making it easier to review this one alone.
The main panel widget is now CcUsersPage, and is an AdwNavigationView
widget that has a default "current_user_page" page. Each page is a
CcUserPage (careful with the one-character difference between these
two classes).
Each CcUserPage has an associated ActUser object.
On distro openSUSE Tumbleweed and SUSE Linux Enterprise the path
of command usermod is not in environment variable PATH, we need to
use absolute path to find command.
Username policies differ across the distributions. See the discussion on:
https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/359
It is not possible to hard-code some rules here without the need for
downstream modifications. Let's check the validity of usernames dynamically
over "usermod" to prevent this.
Just be careful that this is based on undocumented usermod behavior, which
may change in the future.
The `round_image()` function has the `icon_size` parameter, which is not
used by that function, because the size is determined from a pixbuf size.
Let's remove that redundant `icon_size` parameter.