AVCTP: Add mapping for mandatory pass-through operations

This add mapping for mandatory pass-through operations for categories
supported and a few other operations considered useful.
attrib: Fix memory leak on low memory condition

If g_try_new0() fails due to low memory condition, "list" should be
freed before returning from primary_all_cb().
attrib: Fix coding style in read_char_helper()
attrib: Fix status on memory allocation failure

If memory allocation fails, ATT_ECODE_INSUFF_RESOURCES should be
reported to the callback.
lib: Fix invalid memory access in sdp_service_search_attr_req

Browsing services using sdptool can lead to writing to invalid heap
locations.

valgrind's output of exemplary call: sdptool browse local

==2203== HEAP SUMMARY:
==2203==     in use at exit: 0 bytes in 0 blocks
==2203==   total heap usage: 251 allocs, 251 frees, 140,156 bytes allocated
==2203==
==2203== All heap blocks were freed -- no leaks are possible
==2203==
==2203== ERROR SUMMARY: 6 errors from 2 contexts (suppressed: 0 from 0)
==2203==
==2203== 1 errors in context 1 of 2:
==2203== Invalid write of size 2
==2203==    at 0x805B882: bt_put_be16 (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8062BD0: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==  Address 0x4391359 is 7 bytes before a block of size 2,048 alloc'd
==2203==    at 0x402B6A8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2203==    by 0x8062B4B: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==
==2203==
==2203== 5 errors in context 2 of 2:
==2203== Invalid write of size 1
==2203==    at 0x402D363: memcpy (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2203==    by 0x80613E7: gen_dataseq_pdu (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8061472: gen_attridseq_pdu (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8062C00: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==  Address 0x439135b is 5 bytes before a block of size 2,048 alloc'd
==2203==    at 0x402B6A8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2203==    by 0x8062B4B: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==
==2203== ERROR SUMMARY: 6 errors from 2 contexts (suppressed: 0 from 0)
attrib: Simplify boolean tests

Remove unnecessary TRUE/FALSE in boolean tests.
attrib: Change GAttrib->stale type from gboolean

There is no reason to GAttrib->stale be gboolean.
attrib: Change command->sent type from gboolean

There is no reason to command->sent be gboolean.
attrib: Change is_response return type from gboolean

There is no reason to use gboolean as return type of is_response.
attrib: Change match_event return type from gboolean

There is no reason to use gboolean as return type of match_event.
attrib: Change g_attrib_set_destroy_function return type

The return type from g_attrib_set_destroy_function don't need to be
gboolean, it can be standard bool type.
That change implies change in its signature, which requires stdbool.h to
be included where attrib/gattrib.h is included.
attrib: Change g_attrib_cancel/_all return type

These functions doesn't need to use gboolean as return type.
attrib: Change g_attrib_unregister/_all return type

There is no reason to use gboolean in return type for these functions.
attrib: Change g_attrib_set_debug return type from gboolean

There is no reason to use gboolean in return type of g_attrib_set_debug.
attrib: Change g_attrib_set_mtu return type from gboolean

There is no reason to use gboolean in return type of g_attrib_set_mtu.
attrib: Change g_attrib_is_encrypted return type from gboolean

The function g_attrib_is_encrypted don't need to use gboolean as return
type, it can be standard bool type.
This change implies that gatt_channel->encrypted from
src/attrib-server.c can be standard bool type too.
attrib: Change command->opcode type from guint8

Change type of command->opcode, command->expected and event->expected
for a standard type.
attrib: Change event->handle type from guint16

Change type of event->handle for a standard type.
attrib: Change command->id type from guint

Change type of command->id and GAttrib->next_cmd_id for a standard type.
attrib: Change event->id type from guint

Change type of event->id for a standard type.