emulator: Fix matching up connections to random addresses
emulator: Fix random address type in LE conn complete events
shared: Add ECC library

This patch adds ECC functions. The code has been taken from
https://github.com/kmackay/easy-ecc and modified to conform with the
BlueZ coding style.
unit: Add unit test for ECC

This patch adds unit tests for the ECC code. Also this test code has
been taken from https://github.com/kmackay/easy-ecc.
monitor: Add LE SC defines for SMP
monitor: Add translations of LE SC error codes
monitor: Add decoding of LE SC PDUs
monitor: Decode LE SC bits in SMP authentication requirement
monitor: Decode LinkKey bit in SMP key distribution field
monitor: Print full type information for LTKs
smp-tester: Use BR/EDR/LE controller instead of LE-only

With secure connections we'll be able to do cross-transport key
generation as well as SMP signaling over BR/EDR, so we'll need a
dual-mode controller for this.
tools/mgmt-tester: Update LE supported settings to include SC
smp-tester: Add test case parameter for SC
smp-tester: Add another basic SC test
smp-tester: Allow multiple sending without expecting data

Sometimes we need to send multiple PDUs without waiting for any specific
PDU in between.
shared/crypto: Add bt_crypto_f4 for LE SC
smp-tester: Add basic public key handling
emulator: Fix clearing advertising state when connected
unit/test-ecc: Add sample data from core spec