shared/gatt: Return bool in gatt_db_get_attribute_permissions

It will return true if attribute with given handle exists in db and
set permissions value, otherwise it will return false.
Now, if get_permissions failed, we should reply with
ATT_ECODE_ATTR_NOT_FOUND.
android/gatt: Check for invalid handle errors

Check if handle or handle range is valid for server. If is invalid,
reply with ATT_ECODE_INVALID_HANDLE.
tools/btmgmt: Add support for passkey requests
tools/btmgmt: Add support for passkey notification
monitor: Fix User Passkey Request name
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