man: fix compilation of example
systemd-python: catch only ValueErrors in conversion code

First of all, 'try: ... except: ...' (with no exception specified) is
always a no-no, since it catches all BaseExceptions, which includes ^C
and other stuff which should almost never be caught.

Now the conversion is stricter, and only one conversion is attempted,
and only a ValueEror is caught. It seems reasonable to catch ValueErrors,
since the entries in the journal are not verified, and any erroneous
application might log a field which cannot be converted. The consumer
of events must only check if a field is an instance of bytes and can
otherwise assume that the conversion was performed correctly.

Order of arguments in Reader.__init__ has been changed to match order
in _Reader.__init__.

Conversions have been updated to work under Python 2 and 3.
systemd-python: split .seek() into .seek_head() and .seek_tail()

This way python code follows the original interface more closely.
Also, .seek(0, journal.SEEK_END) was just to much to type.
systemd-python: export sd_j_get_fd, sd_j_reliable_fd, sd_j_close

sd_journal_get_fd(j) is called j.fileno(), for compatiblity with
Python conventions for file-like objects.

More importantly, those new .seek_head() and .seek_tail() do not
call .get_next(). This is better, if one wants to skip before
retrieving an entry.
libsystemd-journal: return 0 on success in get_data()

The man page says so. Right now 0 would be returned if the data was encrypted,
1 otherwise.