gbytes: substantial rework for kdbus purposes
This patch is 'squashed' version of Ryan Lortie's patches from
wip/kdbus-junk branch [1].
Main changes:
- introduce a new type of GBytes: 'inline' - this allows us to
make a single allocation instead of two in the g_bytes_new() case,
- new g_bytes_take_zero_copy_fd() function - function takes a memfd,
seals it, and creates a GBytes based on it,
- add g_bytes_get_zero_copy_fd() function - add a way to get the
zero-copy fd back out of a GBytes that was created from one.
[1] https://git.gnome.org/browse/glib/log/?h=wip/kdbus-junk
https://bugzilla.gnome.org/show_bug.cgi?id=721861
Change-Id: I65c31e42c23346f3d7351f815ccbeda7461d3c01