Bluetooth: ATT: Reassemble long write before sending to app
Bluetooth: ATT: Reassemble long write before sending to app

The current implemenation of GATT long write
(ATT prepare + exec write) worked by sending
each segment individually to the application.
This was a simple and effective method, but
the application had no indication of when the
last segment had been written.

This commit reassembles all the prepare writes
for a specific handle, and then sends the combined
write data to the application.

The prepare+exec write may include multiple handles,
so the implementation has taken that into account,
and will loop over the prep_queue multiple times.

Signed-off-by: Emil Gydesen <a20314356615223738233ab4c4eb1cd8cd4146fa@nordicsemi.no>

galak/zephyr,zephyrproject-rtos/zephyr,zephyrproject-rtos/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,finikorg/zephyr,galak/zephyr,finikorg/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,galak/zephyr