Obtain supported locales from "locale -a" output.

Instead of parsing the locale archive file which is private to glibc
(see https://bugzilla.redhat.com/show_bug.cgi?id=956993), run the
"locale -a" command to obtain the list of supported locales.

"locale -a" is specified in POSIX and should thus exist on most UNIX-like
systems (e.g. on OpenBSD, which triggered the related bugzilla entry
because GNOME was unable to find a list of supported locales).

Keep scanning the /usr/share/locale directory as a fallback.

Remove code wrapped in #ifdef WITH_INCOMPLETE_LOCALES. This code was
inherited from gdm but is now unused.

https://bugzilla.gnome.org/show_bug.cgi?id=698383