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;