shell: Leave domain part of hostname intact

when computing the real name from the pretty name.
daemon: Also set the static hostname.
daemon: Get the transient hostname from the kernel

since hostnamed doesn't send change notifications.
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.