attrib: Add simpler call for descriptors discovery

This patch adds gatt_discover_desc() function which performs descriptor
discovery in a manner similar to gatt_discover_char(), i.e. it does
complete discovery procedure and returns list of descriptors found when
finished. For 16-bit UUIDs in addition to string UUID, short UUID is
provided.

It's also possible to specify single descriptor UUID to look for and
discovery procedure is interrupted as soon as UUID is found. This way
no more than one descriptor is returned which is useful when searching
for common descriptors like CCC.
attrib: Discover descriptors using gatt_discover_desc
gas: Discover CCC using gatt_discover_desc
hog: Discover descriptors using gatt_discover_desc
scan: Discover CCC using gatt_discover_desc
heartrate: Discover CCC using gatt_discover_desc
cyclingspeed: Discover CCC using gatt_discover_desc
thermometer: Discover descriptors using gatt_discover_desc
android/gatt: Discover descriptors using gatt_discover_desc
gatt: Remove gatt_discover_char_desc

This function is no longer used since all code is changed to use
gatt_discover_desc instead.
hog: Remove redundant struct

Since complete descriptor discovery is now performed inside gatt code,
there's no need to store end handle for characteristics and thus we can
remove disc_desc_cb_data.
android/avrcp-lib: Fix parsing of SetPlayerApplicationSettingValue

SetPlayerApplicationSettingValue do not return any parameter in case of
success.
android/avrcp-lib: Fix avrcp_get_player_attribute_text

This fixes avrcp_get_player_attribute_text generating incorrect PDUs.
android/bluetooth: Refactor handle_start_discovery_cmd

This makes function flow easier to follow. Also fix usage of
adapter.exp_discovery_type which should be used only when stopping
currently running discovery session to restart it with new type.
android/bluetooth: Refactor handle_cancel_discovery_cmd

This makes function flow easier to follow. Also fix usage of
adapter.exp_discovery_type which should be used only when stopping
currently running discovery session to restart it with new type.
android/bluetooth: Fix bt_le_discovery_start

This fix wrong use of adapter.exp_discovery_type and setting callback
even if failed to start discovery.
android/bluetooth: Fix bt_le_discovery_stop

This fix invalid use of adapter.exp_discovery_type and not clearing
callback.
android/bluetooth: Refactor mgmt_discovering_event

This make funtion simpler and fix bogus discovery restart (which
should only happen for LE scanning triggered by GATT HAL).
android/bluetooth: Avoid starting/stopping discovery with no type
android/bluetooth: Fix sending discovery state changed events

Those events should be send only if discovery was started/stoped from
bluetooth HAL.