core/gatt: Don't always issue read-long for ReadValue
core/gatt: Don't always issue read-long for ReadValue

A remote GATT server may not support the "long read" procedure for all
of its attributes (or not at all). This patch revises the implementation
of GattCharacteristic1.ReadValue and GattDescriptor1.ReadValue, so that
instead of always initiating a "long read" (i.e. ATT Read Blob Req),
they first send out a regular read request and then proceed to a long
read only if the value fills the current MTU and may potentially have
more bytes waiting.

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