hwdb: more an entry for the MS Sculpt Ergonomic

Note that the MS receivers likely work like the Logitech ones, i.e. all
devices connected show up with the same vid/pid/name. Full evidence remains to
be gathered.
hwdb: Logitech MX1000, another Lenovo USB mouse

Provided by Benjamin Bellec

https://bugs.freedesktop.org/show_bug.cgi?id=87343
Move dropin listing to shared

No functional change. This is in preparation for using this in
systemctl in the future.
systemctl: do not use -1 for return code

Also make the error messages more specific to give a hint to the user
how to solve the problem.
systemctl: unify warning about unit files changed on disk
systemctl: move two functions up

No functional change.
systemctl: split out LookupPaths initialization
systemctl: share path lookup between 'cat' and 'edit'

'systemctl cat' now works for templates too.

'systemctl edit' does not refuse to edit units that have changed on
disk. That restriction didn't seem useful, actually editing units that
have changed on disk before they are started is very reasonable.

'edit' with instances and templates works again:

Now:

$ build/systemctl edit getty@
Failed to copy /etc/systemd/system/getty@.service.d/override.conf to /etc/systemd/system/getty@.service.d/.override.confdff6290408c86369: Permission denied
$ build/systemctl edit getty@tty3
Failed to create directories for /etc/systemd/system/getty@tty3.service.d/override.conf: Permission denied
$ build/systemctl edit --full getty@tty3
Failed to copy /usr/lib/systemd/system/getty@.service to /etc/systemd/system/.getty@tty3.serviced3d175087e7e439b: Permission denied
Failed to create temporary file for /etc/systemd/system/getty@tty3.service: Permission denied
$ build/systemctl edit --full getty@
Failed to copy /usr/lib/systemd/system/getty@.service to /etc/systemd/system/.getty@.servicea3caad491c0f2f3d: Permission denied
Failed to create temporary file for /etc/systemd/system/getty@.service: Permission denied
systemctl: refuse to edit runtime dropins when they already exist in /etc

The check for existing unit files and dropins is unified.

path_join() is updated to not insert duplicate separators.
Update TODO
nss-myhostname: also recognize "gateway."

"gateway." skips adding the domain search path and saves some queries to
the nameserver.
systemctl: fix argument handling when invoked as "shutdown"
fix compiler warning

src/shared/utf8.c:268:13: warning: unused variable 'd'
[-Wunused-variable]
         int d;
test-json: use fabs
udev: net_setup - fix warning
shared: path-util - memory leak
shared: strv - add strv_clear()

This frees the elements of the strv without freeing the strv itself.
path: follow symbolic link for parent path

[zj: When we lstat the target path, symlinks above the last component
     will be followed by both stat and lstat. So when we look at the
     parent, we should follow symlinks.]
hwdb: add Lenovo 3000 N200 special key

https://bugs.freedesktop.org/show_bug.cgi?id=87377
nspawn: fix invocation of the raw clone() system call on s390 and cris

Since the order of the first and second arguments of the raw clone() system
call is reversed on s390 and cris it needs to be invoked differently.