android/gatt: Fix descriptors discovery
android/gatt: Fix descriptors discovery

gatt_discover_char_desc() may not return all of characteristic's
descriptors in single call since they may not fit into single
response (i.e. there are simply too many of them or there are both 16-
and 128-bit UUID descriptors which cannot be sent in single response).
We need to check if all descriptors were already returned by using
characteristic handles range and/or status error and request remaining
if possible.

Retrieved descriptors are stored on temporary queue which is later just
swapped with characteristic descriptors queue once finished. This it to
make update process atomic-like.

ComputeCycles/bluez,mapfau/bluez,silent-snowman/bluez,pkarasev3/bluez,ComputeCycles/bluez,mapfau/bluez,pstglia/external-bluetooth-bluez,mapfau/bluez,ComputeCycles/bluez,pkarasev3/bluez,pstglia/external-bluetooth-bluez,silent-snowman/bluez,silent-snowman/bluez,pkarasev3/bluez,pkarasev3/bluez,silent-snowman/bluez,ComputeCycles/bluez,pstglia/external-bluetooth-bluez,pstglia/external-bluetooth-bluez,mapfau/bluez