Add GATT Client functionality
Add classes that allow the GATT client functionality based on Bluez GATT APIs (see https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt).
The three new classes GattServiceRemote, GattCharacteristicRemote, and GattDescriptorRemote implement respective Bluez D-BUS objects. They are created in the same manner as Adapter and Device objects, extending similar tree-like relationship (adapter -> device -> service -> characteristic -> descriptor).
ManData helper type represents manufacturer data contained in Advertisements of LE devices.
PendingCall is extended with ReturnByteArray type to allow reading the values of characteristics/descriptors.