hwdb: FOREACH_HWDB_PROPERTY -> SD_HWDB_FOREACH_PROPERTY

Lets not pollute the global namespace. Prefix all our exported names and
macros with SD_HWDB_*.
hwdb: fix dangling 'else' ambuguity

Imagine the following use of hwdb:

    if (condition_A)
        SD_HWDB_FOREACH_PROPERTY(hwdb, modalias, key, value)
            operation_A(key, value);
    else
        log_error("...");

This should work just fine, but but definitely does not what you would
expect. Due to how SD_HWDB_FOREACH_PROPERTY is defined, the dangling
'else' is linked to the hidden 'if' statement in the macro instead of the
outer 'if (condition_A)'. This is unexpected and really annoying to debug.

Fix this by never leaving un-finished if-statements in
SD_HWDB_FOREACH_PROPERTY(). We simply inverse the if() statement and
explicitly add an 'else'-branch. This way, the statement is closed and all
ambuguities are resolved.
journal: fix dangling 'else' ambiguity

Rework the sd-journal iterators to avoid dangling 'else' ambiguity. For a
detailed explanation, see:

    commit bff686e2a981ccd0888cdf1981977d24320f1770
    Author: David Herrmann <dh.herrmann@gmail.com>
    Date:   Fri Dec 12 09:43:54 2014 +0100

        hwdb: fix dangling 'else' ambuguity
util: when using basename() for creating temporary files, verify the resulting name is actually valid

Also, rename filename_is_safe() to filename_is_valid(), since it
actually does a full validation for what the kernel will accept as file
name, it's not just a heuristic.
util: document why we have alloca_align()
udev-builtin-btrfs: properly initialize ioctl struct to zeroes
path-util: no need to check whether p is absolute twice
seccomp-util.h: make sure seccomp-util.h can be included alone
nspawn: properly validate machine names
util: minor simplification for loop_write() and loop_read()
shared: missing.h should include btrfs.h, before redefining some of its definitions
shared: add new btrfs-util.[ch] helpers for doing common btrfs operation
gpt-auto-generator: make use of new btrfs-util.h APIs
copy: teach copy_bytes() btrfs reflink magic
nspawn: beef up nspawn with some btrfs magic

This adds --template= to duplicate an OS tree as btrfs snpashot and run
it

This also adds --ephemeral or -x to create a snapshot of an OS tree and
boot that, removing it after exit.
bus: fix assert() on HELLO error-path

Make sure we don't call into any bus_kernel_*() functions before
b->is_kernel is set to true. Hard-code the CMD_FREE just like the other
helpers do.
bus: send attach flags on BUS_MAKE

Make sure to set send-attach-flags on BUS_MAKE. These control which
information is revealed about the bus-owner.