libutils: add functions needed by OpenSSL libcrypto

This commit adds the following standard functions to libutils
- abort(), time() [for TEE core only]
- isdigit(), isspace(), isalpha(), isalnum(), isxdigit(), isupper(),
islower(), toupper(), tolower(): basic ASCII-only implementation
- atoi(), sscanf(), strtoul(), strncmp(), strcpy(), strncpy(), strchr(),
strcat()
Implement OpenSSL crypto provider (WITH_CRYPTO=openssl)

Set the WITH_CRYPTO build option to 'openssl' to use the OpenSSL licrypto
library for cryptographic services. When WITH_CRYPTO is not set or set to
'tomcrypt', the default LibTomCrypt library is used.

Usage example:
  $ make CROSS_COMPILE=arm-linux-gnueabihf- \
         PLATFORM=vexpress PLATFORM_FLAVOR=fvp \
         WITH_CRYPTO=openssl

Tested with xtest on Foundation_v8 (PLATFORM_FLAVOR=fvp) and QEMU
(PLATFORM_FLAVOR=qemu_virt).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>