glib/gconvert.c: Annotate byte arrays, (out) and (nullable)

The conversion utilities deal with strings of different
encodings, which furthermore may carry embedded null characters.
This should be reflected in the annotated types for the parameters
and return values.
Added annotations for output parameters and nullability where missing.
g_data_output_stream_put_string(): de-UTF-8 the string parameter

The data stream does not care about the string encoding, so it
makes sense to make it accept arbitrarily encoded strings in the
introspection as well. Most of GDataInputStream's interface works
in terms of bytestrings, too, so this will bring symmetry.
g_file_get_basename(): bytestring annotation for the return value
Added g_unix_socket_address_get_path_full()

An introspectable version of g_unix_socket_address_get_path(),
with the returned buffer's length provided via an out parameter.
g_charset_converter_convert(): added byte array annotation on @output
glib/genviron.c, GSubprocessLauncher: no "filename encoding" in docs

Removed all mentions of GLib file name encoding referring to
the environment strings. The env var content has no defined relation
to GLib's notion of filename encoding, or any encoding whatsoever.
It would be wrong to pass all UTF-8 strings through
g_filename_from_utf8() in order to put them into the environment,
for one thing.
glib/genviron.c, GSubprocessLauncher: bytestring annotations
Make g_subprocess_launcher_set_child_setup() non-introspectable

It's not certain that the runtime of any language using the
introspection survives a fork, so that the closure would be usable.