When reading or writing a file with elevated privileges the helper will
open the required file (with elevated privileges) and it will share the
open file descriptor with file ioslave. Since the file referred to by the
shared file descriptor was opened by a privileged process, file ioslave
which is a normal user process will be able to modify the file.
This patch adds two classes, FdSender and FdReceiver. And as their
name suggest they facilitate sending and receiving of an open file
descriptor between a privileged and a normal process.