gatt: Add offset parameter to gatt_write_char()

This patch adds an "offset" parameter to gatt_write_char() to allow
the user to write using an offset even when the value is smaller than
the PDU size.
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 calls
gatt_write_char(), that also handles values that does not fit into a
PDU.
gatt: Implement D-Bus WriteValue

This patch implements the method WriteValue
from org.bluez.gatt.Characteristic1 interface.