Fix #3112
Remove the custom IV option from CI_Encryption

It serves for no practical purpose and can only do harm.
[ci skip] Leftover from 1e83d69a52a85a4f568bfa086d658556acd48980
Fix a _potential_ flaw in password_hash()
Add CI_Encryption::create_key()

This was planned, we somehow forgot about it. :)
Fixed typo
Fixed eof
Merge pull request #3121 from GrahamCampbell/patch-1

Fixed Typo In Security.php
Fix #3124
Merge branch 'develop' of github.com:EllisLab/CodeIgniter into develop
Remove GCM mode from CI_Encryption (OpenSSL)

While openssl_get_cipher_methods() lists 'aes-<keysize>-gcm' as supported,
it appears that this is only half of the story. To be more specific, only
the encryption operation of GCM is performed, and the authentication message
is completely missing, rendering the whole thing useles.
Missing looping index added. Without index empty rows returned for csv column headers.
Merge pull request #3130 from dionysiosarvanitis/fix/pdo_result__list_fields

Missing looping index added.
Fix #3131
Merge branch 'develop' of github.com:EllisLab/CodeIgniter into develop
Return 403 instead of 500 if no CSRF token given

Not supplying a CSRF token shouldn't return a 500 response because it isn't a server error. The response status code should definitely be in the 400's, because it's the client's fault. And it should be a 403 because the client is forbidden from making that request without the appropriate credential (the CSRF token), though the request may be otherwise valid.

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Fix a few typos and add a backport (compat) for hex2bin()
Add a backport (compat) for quoted_printable_encode()
Fix potential bugs in password_hash(), CI_Encryption

strlen(), substr() are not byte-safe when mbstring.func_overload is enabled
Continuing from previous commit ... use CI_Encryption::substr()