Bluetooth: shell: Add SDP client support
Bluetooth: shell: Add SDP client support

Adds pool memory for storing SDP client query results and introduces
command allowing add HFPAG UUID to be resolved when connection to peer
is already set. When resolved data arrives, UUID callback handler
tries to identify RFCOMM protocol specific information, in this case
remote HFPAG Server Channel Number, stored in Protocol's Descriptor List
attribute data.

> HCI Event: Number of Completed Packets (0x13) plen
        Num handles: 1
        Handle: 77
        Count: 1
> ACL Data RX: Handle 77 flags 0x02 dlen 55
      Channel: 64 len 51 [PSM 1 mode 0] {chan 0}
      SDP: Service Search Attribute Response (0x07) tid 2 len 46
        Attribute bytes: 43
        Continuation state: 0
        Combined attribute bytes: 96
          Attribute list: [len 91] {position 0}
            Attribute: Service Record Handle (0x0000) [len 2]
              0x00010003
            Attribute: Service Class ID List (0x0001) [len 2]
              UUID (3) with 2 bytes [0 extra bits] len 3
                Handsfree Audio Gateway (0x111f)
              UUID (3) with 2 bytes [0 extra bits] len 3
                Generic Audio (0x1203)
            Attribute: Protocol Descriptor List (0x0004) [len 2]
              Sequence (6) with 3 bytes [8 extra bits] len 5
                UUID (3) with 2 bytes [0 extra bits] len 3
                  L2CAP (0x0100)
              Sequence (6) with 5 bytes [8 extra bits] len 7
                UUID (3) with 2 bytes [0 extra bits] len 3
                  RFCOMM (0x0003)
                Unsigned Integer (1) with 1 byte [0 extra bits] len 2
                  0x03
            Attribute: Browse Group List (0x0005) [len 2]
              UUID (3) with 2 bytes [0 extra bits] len 3
                Public Browse Root (0x1002)
            Attribute: Bluetooth Profile Descriptor List (0x0009) [len 2]
              Sequence (6) with 6 bytes [8 extra bits] len 8
                UUID (3) with 2 bytes [0 extra bits] len 3
                  Handsfree (0x111e)
                Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                  0x0106
            Attribute: Unknown (0x0100) [len 2]
              Handsfree Gateway [len 18]
            Attribute: Unknown (0x0301) [len 2]
              0x01
            Attribute: Unknown (0x0311) [len 2]
              0x0027
< ACL Data TX: Handle 77 flags 0x00 dlen 12
      L2CAP: Disconnection Request (0x06) ident 5 len 4
        Destination CID: 64
        Source CID: 64
> HCI Event: Number of Completed Packets (0x13) plen 5
        Num handles: 1
        Handle: 77
        Count: 1
> ACL Data RX: Handle 77 flags 0x02 dlen 12
      L2CAP: Disconnection Response (0x07) ident 5 len 4
        Destination CID: 64
        Source CID: 64

Jira: ZEP-1112

Change-Id: Ibda606fabe367ca3d0353f77c7093da8c4f175c8
Signed-off-by: Arkadiusz Lichwa <a8f3d827a064762faaf15c916aaf7025632f7d7f@tieto.com>

GiulianoFranchetto/zephyr,fractalclone/zephyr-riscv,Vudentz/zephyr,runchip/zephyr-cc3200,zephyriot/zephyr,punitvara/zephyr,Vudentz/zephyr,zephyrproject-rtos/zephyr,explora26/zephyr,bigdinotech/zephyr,pklazy/zephyr,runchip/zephyr-cc3200,aceofall/zephyr-iotos,zephyrproject-rtos/zephyr,rsalveti/zephyr,pklazy/zephyr,pklazy/zephyr,runchip/zephyr-cc3220,zephyriot/zephyr,zephyrproject-rtos/zephyr,tidyjiang8/zephyr-doc,holtmann/zephyr,erwango/zephyr,nashif/zephyr,fractalclone/zephyr-riscv,GiulianoFranchetto/zephyr,Vudentz/zephyr,tidyjiang8/zephyr-doc,Vudentz/zephyr,galak/zephyr,sharronliu/zephyr,tidyjiang8/zephyr-doc,runchip/zephyr-cc3200,runchip/zephyr-cc3220,zephyriot/zephyr,explora26/zephyr,ldts/zephyr,sharronliu/zephyr,kraj/zephyr,fbsder/zephyr,punitvara/zephyr,bigdinotech/zephyr,fractalclone/zephyr-riscv,fbsder/zephyr,GiulianoFranchetto/zephyr,rsalveti/zephyr,fractalclone/zephyr-riscv,erwango/zephyr,rsalveti/zephyr,kraj/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,fbsder/zephyr,ldts/zephyr,tidyjiang8/zephyr-doc,nashif/zephyr,holtmann/zephyr,Vudentz/zephyr,aceofall/zephyr-iotos,fbsder/zephyr,holtmann/zephyr,zephyrproject-rtos/zephyr,bigdinotech/zephyr,aceofall/zephyr-iotos,mbolivar/zephyr,explora26/zephyr,aceofall/zephyr-iotos,kraj/zephyr,zephyriot/zephyr,runchip/zephyr-cc3220,holtmann/zephyr,rsalveti/zephyr,runchip/zephyr-cc3200,punitvara/zephyr,bboozzoo/zephyr,erwango/zephyr,pklazy/zephyr,punitvara/zephyr,mbolivar/zephyr,explora26/zephyr,rsalveti/zephyr,fractalclone/zephyr-riscv,punitvara/zephyr,sharronliu/zephyr,finikorg/zephyr,sharronliu/zephyr,ldts/zephyr,galak/zephyr,bigdinotech/zephyr,galak/zephyr,nashif/zephyr,mbolivar/zephyr,erwango/zephyr,galak/zephyr,holtmann/zephyr,nashif/zephyr,erwango/zephyr,tidyjiang8/zephyr-doc,mbolivar/zephyr,GiulianoFranchetto/zephyr,finikorg/zephyr,kraj/zephyr,runchip/zephyr-cc3220,bigdinotech/zephyr,zephyriot/zephyr,ldts/zephyr,aceofall/zephyr-iotos,finikorg/zephyr,Vudentz/zephyr,runchip/zephyr-cc3220,runchip/zephyr-cc3200,fbsder/zephyr,kraj/zephyr,galak/zephyr,finikorg/zephyr,bboozzoo/zephyr,bboozzoo/zephyr,mbolivar/zephyr,bboozzoo/zephyr,GiulianoFranchetto/zephyr,bboozzoo/zephyr,sharronliu/zephyr,ldts/zephyr,nashif/zephyr,explora26/zephyr,pklazy/zephyr