gattMiscInfo: implement GATT misc info service

Provides device info based on Device Info and GAP profiles

test app quoth:

I@ test.c:593: Misc Info state: 1
I@ gattSvcMiscInfo.c:424: Misc Info Service attempting an attachment to GATT conn 000000000000002d
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a00 to info type 10
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a01 to info type 11
D@ gattSvcMiscInfo.c:349: Ignoring attr with uninteresting UUID 0x2a02
D@ gattSvcMiscInfo.c:349: Ignoring attr with uninteresting UUID 0x2a03
D@ gattSvcMiscInfo.c:349: Ignoring attr with uninteresting UUID 0x2a04
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a23 to info type 7
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a24 to info type 2
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a25 to info type 3
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a26 to info type 5
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a27 to info type 4
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a28 to info type 6
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a29 to info type 1
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a2a to info type 8
D@ gattSvcMiscInfo.c:353: Mapping uuid 0x2a50 to info type 9
I@ test.c:593: Misc Info state: 2
W@ gattSvcMiscInfo.c:455: Attempting to get MiscInfoSvc into type that is not known: 0
I@ test.c:597: Misc Info Request 0: NO
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 1. Handle=0x001e, valCache=(nil)
I@ test.c:597: Misc Info Request 1: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 2. Handle=0x0014, valCache=(nil)
I@ test.c:597: Misc Info Request 2: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 3. Handle=0x0016, valCache=(nil)
I@ test.c:597: Misc Info Request 3: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 4. Handle=0x001a, valCache=(nil)
I@ test.c:597: Misc Info Request 4: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 5. Handle=0x0018, valCache=(nil)
I@ test.c:597: Misc Info Request 5: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 6. Handle=0x001c, valCache=(nil)
I@ test.c:597: Misc Info Request 6: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 7. Handle=0x0012, valCache=(nil)
I@ test.c:597: Misc Info Request 7: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 8. Handle=0x0020, valCache=(nil)
I@ test.c:597: Misc Info Request 8: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 9. Handle=0x0022, valCache=(nil)
I@ test.c:597: Misc Info Request 9: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 10. Handle=0x0003, valCache=(nil)
I@ test.c:597: Misc Info Request 10: YES
D@ gattSvcMiscInfo.c:470: MiscInfo: requested type 11. Handle=0x0005, valCache=(nil)
I@ test.c:597: Misc Info Request 11: YES
  Manufacturer Name: 'MosArt Corp.'
  Model Number: 'MAB45S'
  Serial Number: 'Serial Number 001'
  HW Revision: 'CC2541_F128K'
  FW Revision: 'Firmware V0.5'
  SW Revision: 'Software BLE1.4.2'
  System ID: 0x0000000000000000
  I have no idea how to show IEEE cert lists, but we got one 14 bytes long
  PnP ID: {src=1,vid=0x000d,pid=0x0000,ver=0x0110}
  Device Name: 'PC120A'
  Appearance: 0x03c2 (HID,Mouse)

BUG=b:74813838
TEST=test app updated, output above
Change-Id: Ibfbac1f8b68c3f792350866df2c5851f3f8e2b52
5 files changed