daemon: Get the transient hostname from the kernel

since hostnamed doesn't send change notifications.

Fixes #1160
daemon: Allow setting of empty hostnames.

Since that makes sense.
shell: Don't default the pretty hostname to the real one.

If it is empty, it should stay empty.