systemd-python: allow Reader to be used as a context manager
journal: use sd_journal_close on error in sd_journal_new
journal: use _cleanup_

One log_debug() moved to match order in other functions.
journal,shared: add _cleanup_journal_close_
sd-journal: do not require path to be absolute

Seems natural to be able to specify relative directory,
e.g. with journalctl -D. And even if, this should be checked
in front-end code, not in the library.
Use bus_maybe_send_reply() where applicable

This is a followup to: commit 1a37b9b9043ef83e9900e460a9a1fccced3acf89

It will fix denial messages from dbus-daemon between gdm and
systemd-logind on logging into GNOME due to this.

See the previous commit for more details.
logind: Make more use of cleanup macros
logind: exploit previous cleanups and simplify returns