gatt: Introduce attribute read cb for GATT client

This patch adds the callback function to be called when a GATT client
application reads the attribute value. Its implementation sends an ATT
Read Request.

Currently there is no error handling and no support for values that
does not fit in a single PDU.
TO SQUASH: Use g_list_find instead of find_custom
gatt: Implement D-Bus ReadValue
core: Add getter and setter for attribute database

The getter has a btd_ prefix so it is clear that even profiles are allowed to
call it. The setter should only be used from the core.

This allows for some simplification of the database management code.
gatt: Check characteristic properties

Verify the characteristic properties before registering the read/write
callbacks.
gatt/gap: Add new file for gatt/gap plugin

This patch adds a new file to implement the gatt/gap plugin based on
the new ATT API. In the future the old implementation must be removed.
gatt/gap: Add profile driver init and remove

This patch adds stubs for probe and remove gatt/gap devices.
gatt/gap: Read Device Name Characteristic

This commit adds logic to discover Device Name Characteristic from
GAP Service, read it and set the btd_device name using the response.
gatt/gap: Read Appearance Characteristic

This commit adds logic to discover Appearance Characteristic from
GAP Service, read it and set the btd_device appearance using the
response.
gatt: Introduce attribute write cb for GATT client

This patch adds the callback function to be called when a GATT client
application writes into the attribute value. Its implementation sends
an ATT Write Request.

Currently there is no error handling and no support for values that
does not fit in a single PDU.