cc2538: Add crypto drivers and examples for AES-CCM and SHA-256

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: ccm: Make it possible to use the interrupt

Using the AES interrupt allows the user process not to waste time polling for
the completion of the operation. This time can be used by the user process to do
something else, or to let the system enter PM0.

Since the system is now free to perform various operations during a crypto
operation, a protection of the crypto resource is added, and PM1+ is prohibited
in order not to stall crypto operations.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: aes: Make it possible to have several keys stored at once

Several keys can be kept at the same time in the key store, and several keys can
be loaded at once. Give access to these features.

The ccm-test example is also improved to better demonstrate the use of the key
store.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: aes: Add support for 192- and 256-bit keys

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>