gatt: Fix duplicated attribute for characteristic value

This patch fix storing the attribute value in the persistent storage.
When starting bluetoothd, the attribute value is created automatically
from the data extracted from attribute characteristic declaration. At
the moment, value is not cached and the characteristic value should be
always read from the remote.
gatt-findme: Collect list of services
gatt-findme: Collect list of characteristics
gatt-findme: Check if service is Immediate alert type
gatt-findme: Add timer to search for the alert level characteristic
gatt-findme: Write new Alert Level value
gatt-findme: Simplify and cleanup code

This code is meant to be used as API example, therefore it needs to be
as simple as possible (while still fully functional).
gatt-findme: Store only IAS service

Simplify code by collecting only the IAS service instead of a list of
all services.
gatt-findme: Implement support for -i option

If no -i option is given, use the first adapter found. If no adapter is
found, print an error message.
gatt-findme: Create function for reading boolean D-Bus properties
gatt-findme: Do not check for Discovering before StartDiscovery()

Assume that adapter is not in discovery state. Instead, check that we
are discovering before calling StopDiscovery().
gatt-findme: Only activate timer after connected

Without this fix, if connection establishment takes too long, the timer
is triggered before services are discovered.
gatt-findme: Remove adapter checks on timer

These checks are not valid anymore now that the timer is only triggered
after device is connected (therefore an adapter is always present).

Instead print debug messages when adapter is found.