Bluetooth: Fix missing check for remote LE SC public key

The pairing confirm & random PDUs should be sent only after a successful
public key exchange. There is already a flag for it and we should
indicate failure if we receive the Pairing Confirm before we have
received the remote public key.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Bluetooth: Wait for remote LE SC Public Key when not initiator

According to the LE SC spec the Initiating device sends its key first
and the non-initiating device responds with its key after.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Bluetooth: Add debug logs for local LE SC public/private key pair

This is useful for debugging purposes when trying to fix issues either
with the local or the remote ECDH implementation.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>