Import libcrypto source code from OpenSSL 1.0.1i

$ md5sum openssl-1.0.1i.tar.gz
c8dc151a671b9b92ff3e4c118b174972  openssl-1.0.1i.tar.gz

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
OpenSSL: AES-XTS: allow multiple calls to EVP_EncryptUpdate() and EVP_DecryptUpdate()

This commit modifies CRYPTO_xts128_encrypt() so that tweak information
is saved in the context for the next call.
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>