src/gatt-client: Improved logging.

This patch adds increased DBG, error, and info level logging to
btd_gatt_client.
src/gatt-client: Implement GattDescriptor1.ReadValue method.

This patch implements the ReadValue method of the GattDescriptor1
interface.
src/gatt-client: Implement GattDescriptor1.WriteValue.

This patch implements the WriteValue method of the GattDescriptor1
interface.
src/gatt-client: Properly clean up request ids and fix crash.

This patch makes sure that all request ids are properly cleaned up in
case of failure. This patch also fixes a crash that happened during
service cleanup on disconnects caused by the following line:

  client->services = g_slist_append(client->services, services);

where it should be:

  client->services = g_slist_append(client->services, service);

The former appended a GSList pointer instead of a struct
gatt_dbus_service pointer to the client's list of services. This caused
memory corruption during cleanup.