gdbusmessage, gvariant and garray fixes
Accumulation of several patches for gdbusmessage, gvariant and garray which were previously embargoed.
These have all been reviewed in private already, and are ready to land.
Fixes: #2557 (closed), #2572 (closed), #2578 (closed)