Encryption integrity check

As issue #2789 suggests, CodeIgniter should provide some integrity check in the encryption class. This is an attempt to add a hash_hmac() mac to the string before encryption, and compare hashes after decryption to verify integrity. I uses either sha256, sha1 or md5, depending on availability on the running system.