GLib: add shortcut for bytestring GVariant

GVariant has two semantically different uses for variants of the 'ay'
type: array of bytes, and bytestring (encoded string data.) Arrays of
bytes can contain anything, including embedded 0 bytes. Bytestrings must
be 0-terminated. See the docs:
https://developer.gnome.org/glib/stable/gvariant-text.html#gvariant-text-bytestrings

The existing API to create a GVariant with 'ay' type is `new
GLib.Variant('ay', someByteArray)`. This remains unchanged, but this
commit adds a new convenience API where you can pass a string instead of
a byte array. If a string is passed in, the GVariant is assumed to be a
bytestring, and so will be 0-terminated.

The existing, probably unintended, behaviour of `new GLib.Variant('ay',
someString)` was to always strip the 0-terminator, even if it was
explicitly provided (`new GLib.Variant('ay', 'pizza\0')`). This is probably
never what client code intended, but also that was not an actual API so
technically the behaviour was undefined.

Closes: #203
26 jobs for 203-gvariant-bytestrings in 18 minutes and 32 seconds (queued for 24 minutes and 4 seconds)
Status Job ID Name Coverage
  Source Check
passed #103750
cppcheck

00:00:32

passed #103751
cpplint

00:00:53

passed #103752
eslint

00:00:36

passed #103776
fedora

00:02:53

failed #103749
fedora

00:00:09

 
  Test
passed #103755
no_graphics

00:02:05

passed #103756
no_profiler

00:02:17

passed #103757
no_readline

00:02:16

passed #103753
sanitizer_gcc

00:04:03

passed #103754
with_logging

00:02:53

 
  Manual
manual #103771
allowed to fail manual
armv8
manual #103758
allowed to fail manual
codequality
manual #103759
allowed to fail manual
code_statistics
manual #103773
allowed to fail manual
coverage
manual #103761
allowed to fail manual
fedora_gcc
manual #103767
allowed to fail manual
flatpak
manual #103762
allowed to fail manual
installed_tests
manual #103765
allowed to fail manual
lts
manual #103772
allowed to fail manual
ppc64le
manual #103760
allowed to fail manual
sanitizer_clang
manual #103764
allowed to fail manual
ubuntu_clang
manual #103763
allowed to fail manual
ubuntu_gcc
manual #103766
allowed to fail manual
valgrind
manual #103770
allowed to fail manual
zeal_11
manual #103768
allowed to fail manual
zeal_2
manual #103769
allowed to fail manual
zeal_4