monitor: Add full decoding of Page Scan Activity HCI commands
monitor: Add full decoding of Page Scan Type HCI commands
emulator: Add Page Scan Activity HCI command support
emulator: Add Page Scan Type HCI command support
emulator: Fix missing break statement for LE Read White List Size
tools/mgmt-tester: Add basic Set Fast Connectable test case
player: Fix property Device type

Device property should be an objecy path not a string.
media: Rework MediaItem Type property

Type now can assume the value "folder" so it is no longer necessary to
have Folder property, FolderType in introduced to provide the folder type
that before was on the Type itself.

In addition to this add proper documentation what properties are optional
and under what condition they are available.
player: Add enums for item types and folder types

This avoid having to allocate memory just to store string representation
of these types.
player: Add Playlist property

Playlist property refer to the folder where the list of items being
played can be found.
player: Fix not emitting PropertiesChanged for Browsable and Searchable

Browsable and Searchable should emit PropertiesChanged when their values
changes.
AVRCP: Fix changing track metadata too many times

Certain stacks may respond to GetPlayStatus before GetItemAttributes
(e.g iOS 6), which may cause Track to be changed due to duration being
different.

To fix this the code now only attempt to do GetPlayStatus once
GetItemAttributes completes, in addition to this do not require a exact
match of the duration because they can be different as can be observed
bellow:

> L2CAP(d): cid 0x0044 len 141 ctrl 0x0c16 fcs 0xa5ad [psm 27]
    I-frame: Unsegmented TxSeq 11 ReqSeq 12
    AVCTP Browsing: Response : pt 0x00 transaction 11 pid 0x110e
      AVRCP: GetItemAttributes: len 0x0083
...
        AttributeID: 0x00000007 (Track duration)
        CharsetID: 0x006a (UTF-8)
        AttributeLength: 0x0006 (6)
        AttributeValue: 222641
...
> L2CAP(d): cid 0x0043 len 22 [psm 23]
    AVCTP Control: Response : pt 0x00 transaction 2 pid 0x110e
      AV/C: Stable: address 0x48 opcode 0x00
        Subunit: Panel
        Opcode: Vendor Dependent
        Company ID: 0x001958
        AVRCP: GetPlayStatus: pt Single len 0x0009
          SongLength: 0x00036597 (222615 miliseconds)
          SongPosition: 0x00000000 (0 miliconds)
          PlayStatus: 0x02 (PAUSED)
player: Only emit PropertiesChanged for Position if track exists
player: Only expose Track property if there is metadata

If no metadata is set there is no point in exposing it.
AVRCP: Add support to UIDs changed event for CT role

This adds support for registering to UIDs changed event if supported by
TG.
AVRCP: Fix storing wrong UID counter

By the AVRCP spec all messages uses big endian not little endian.
media-api: Fix mentioning MediaLibrary instead of MediaFolder
avdtp: Register state callback for specified audio device

State callback will now be registered and called for specified device
only. This will allow for more cleaner callback register/unregister
in roles code.

Fix following valgrind reports:

16 bytes in 1 blocks are still reachable in loss record 43 of 227
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4278BD: avdtp_add_state_cb (avdtp.c:3931)
   by 0x41DDA3: audio_device_register (device.c:315)
   by 0x416ECA: manager_get_audio_device (manager.c:491)
   by 0x4171A8: a2dp_sink_probe (manager.c:131)
   by 0x46A7B1: dev_probe (device.c:2347)
   by 0x468C4E: btd_profile_foreach (profile.c:599)
   by 0x46BB45: device_probe_profiles (device.c:2423)
   by 0x4613E8: load_devices (adapter.c:2549)

16 bytes in 1 blocks are still reachable in loss record 45 of 227
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4278BD: avdtp_add_state_cb (avdtp.c:3931)
   by 0x41F112: sink_init (sink.c:380)
   by 0x4171B8: a2dp_sink_probe (manager.c:137)
   by 0x46A7B1: dev_probe (device.c:2347)
   by 0x468C4E: btd_profile_foreach (profile.c:599)
   by 0x46BB45: device_probe_profiles (device.c:2423)
   by 0x4613E8: load_devices (adapter.c:2549)
   by 0x465016: read_info_complete (adapter.c:5514)

24 bytes in 1 blocks are still reachable in loss record 61 of 227
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x427892: avdtp_add_state_cb (avdtp.c:3926)
   by 0x41DDA3: audio_device_register (device.c:315)
   by 0x416ECA: manager_get_audio_device (manager.c:491)
   by 0x4171A8: a2dp_sink_probe (manager.c:131)
   by 0x46A7B1: dev_probe (device.c:2347)
   by 0x468C4E: btd_profile_foreach (profile.c:599)
   by 0x46BB45: device_probe_profiles (device.c:2423)
   by 0x4613E8: load_devices (adapter.c:2549)
   by 0x465016: read_info_complete (adapter.c:5514)
   by 0x471331: request_complete (mgmt.c:221)

24 bytes in 1 blocks are still reachable in loss record 63 of 227
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x427892: avdtp_add_state_cb (avdtp.c:3926)
   by 0x41F112: sink_init (sink.c:380)
   by 0x4171B8: a2dp_sink_probe (manager.c:137)
   by 0x46A7B1: dev_probe (device.c:2347)
   by 0x468C4E: btd_profile_foreach (profile.c:599)
   by 0x46BB45: device_probe_profiles (device.c:2423)
   by 0x4613E8: load_devices (adapter.c:2549)
   by 0x465016: read_info_complete (adapter.c:5514)
   by 0x471331: request_complete (mgmt.c:221)
   by 0x4716EB: received_data (mgmt.c:319)
avdtp: Remove user data from avdtp_session_state_cb

All users pass NULL as user data so there is no need to keep that.
avctp: Allow to register state callback for specified audio device

State callback can now be registered and called for specified device
only (or all devices if NULL is passed). This will allow for more
cleaner callback register/unregister in roles code.

Fix following valgrind reports:

16 bytes in 1 blocks are still reachable in loss record 43 of 223
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x419ABD: avctp_add_state_cb (avctp.c:1652)
   by 0x41DD87: audio_device_register (device.c:320)
   by 0x416ECA: manager_get_audio_device (manager.c:491)
   by 0x4171A8: a2dp_sink_probe (manager.c:131)
   by 0x46A821: dev_probe (device.c:2347)
   by 0x468CBE: btd_profile_foreach (profile.c:599)
   by 0x46BBB5: device_probe_profiles (device.c:2423)
   by 0x461458: load_devices (adapter.c:2549)

16 bytes in 1 blocks are still reachable in loss record 44 of 223
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x419ABD: avctp_add_state_cb (avctp.c:1652)
   by 0x417791: control_init (control.c:290)
   by 0x417097: avrcp_probe (manager.c:156)
   by 0x46A821: dev_probe (device.c:2347)
   by 0x468CBE: btd_profile_foreach (profile.c:599)
   by 0x46BBB5: device_probe_profiles (device.c:2423)
   by 0x461458: load_devices (adapter.c:2549)
   by 0x465086: read_info_complete (adapter.c:5514)

24 bytes in 1 blocks are still reachable in loss record 59 of 223
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x419A92: avctp_add_state_cb (avctp.c:1647)
   by 0x41DD87: audio_device_register (device.c:320)
   by 0x416ECA: manager_get_audio_device (manager.c:491)
   by 0x4171A8: a2dp_sink_probe (manager.c:131)
   by 0x46A821: dev_probe (device.c:2347)
   by 0x468CBE: btd_profile_foreach (profile.c:599)
   by 0x46BBB5: device_probe_profiles (device.c:2423)
   by 0x461458: load_devices (adapter.c:2549)
   by 0x465086: read_info_complete (adapter.c:5514)
   by 0x4713A1: request_complete (mgmt.c:221)

24 bytes in 1 blocks are still reachable in loss record 60 of 223
   at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
   by 0x419A92: avctp_add_state_cb (avctp.c:1647)
   by 0x417791: control_init (control.c:290)
   by 0x417097: avrcp_probe (manager.c:156)
   by 0x46A821: dev_probe (device.c:2347)
   by 0x468CBE: btd_profile_foreach (profile.c:599)
   by 0x46BBB5: device_probe_profiles (device.c:2423)
   by 0x461458: load_devices (adapter.c:2549)
   by 0x465086: read_info_complete (adapter.c:5514)
   by 0x4713A1: request_complete (mgmt.c:221)
   by 0x47175B: received_data (mgmt.c:319)