sd-device: use strjoina() more again in sd_device_new_from_subsystem_sysname()
This reverts a major part of:
e17c95af8e450caacde692875b30675cea75211f
Using format strings for concatenating strings is pretty unefficient,
and using PATH_MAX buffers unpretty as well. Let's revert to using
strjoina() as before.
However, to fix the fuzz issue at hand, let's explicitly verify the two
input strings ensuring they are valid path names. This includes a length
check (to 2K each), thus making things prettier, faster and using less
memory again.
(cherry picked from commit
f5e775973a22e10e0813b56cb3e43d5d415979f7)