Introduce UnixFileDescriptor class, which holds a copy of a file
descriptor. Actually it's a wrapper around QDBusUnixFileDescriptor
that hides the use of QtDBus from client code.
Currently arguments to/from a helper are passed as QVariantMap,
encoded as QByteArray. To support passing of file descriptors,
separate them into their own QVariantMap, and pass arguments as
QVariantList consisting of the QByteArray blob of data arguments
and the file descriptors map ({un}packedArguments() functions).