shared/gatt-client: Guard against invalid access
shared/gatt-client: Guard against invalid access

This patch adds a ref-count based guard around call sites that invoke
a callback set by the upper-layer, to prevent memory errors after the
callback returns.

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