Introducing CI_Encryption (a CI_Encrypt replacement)
CI_Encryption improvements

 - HMAC authentication by default.
 - HKDF support.
 - Reduce code repetition.
CI_Encryption: Fix some errors and add unit tests for hkdf()
Fix a logical error in CI_Encryption
CI_Encryption: Fix more errors and add a 'portability' test case
CI_Encryption: Remove ARCFour from aliased ciphers due ...

Seems like there are some issues with it
Integrate CI_Encryption into the framework

TODO: Add documentation in user_guide_src/source/libraries/encryption.rst
Merge branch 'develop' into feature/encryption
CI_Encryption: Work around MCrypt's dumb behavior in ECB mode
CI_Encryption: Add Blowfish to compatibility list
CI_Encryption: More MCrypt/OpenSSL compatibility and get rid of the MCRYPT_MODE_* constants
More CI_Encryption improvements

 - Make OpenSSL the default driver if available (because MCrypt is stupid).
 - Require MCRYPT_DEV_URANDOM for the MCrypt availability check
   (because security; also, incidentally - it's faster that way ;)).
CI_Encryption: HMAC to not be derived from the encryption key
CI_Encryption: Time-attack-safe HMAC verification
CI_Encryption: CAST-128/CAST5 and RC4/ARCFour compatibility
Merge changes from develop
CI_Encryption: Optimizations and test cases
Merge branch 'develop' into feature/encryption
Fixed Typo in String Helper function

alnum spelled as alunum in random_string function documentation comment.
Removed new line at the end of the file