Add helpers to handle UUID<->str conversion

Converting UUID to string will be always in 128-bits format, but we can
accept to read 16-bits version (eg: 0xABCD).
Add primary command

With primary command, we can search primary services on remote device.
If we need a specific service, it's possible to filter by UUID that can
be 16-bits or 128-bits.