Use the length result of sd_journal_get_data()

Previously, the journal fields were passed to functions which assumed a
NUL-terminated string, and surprisngly this mostly worked. However, the
systemd journal API does not guarantee this, and there were some reports
of strange crashes and odd characters appearing in log messages.

Fix the problem by using the length result from sd_journal_get_data() to
read only the number of characters in the field.

https://bugzilla.gnome.org/show_bug.cgi?id=709290
Set a GError when calling gl_journal_get_data()
Add GlJournalError enum