Fix: bt_ctf_field_type_structure_add_field argument validation

bt_ctf_field_type_structure_add_field is not setting the return
value to a negative value if the parameter validation fails. The
function would abort while appearing to have succeeded.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Reuse previously allocated string when setting value

bt_ctf_field_string_set_value() frees and reallocates a new
g_string object if the value is changed. This change ensures
that the previous string is used if possible.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Add stream packet header accessors

Stream packet contexts may now be modified to contain custom
fields. The events_discarded field is now handled like a generic
packet context field.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>