Remove the custom IV option from CI_Encryption

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

This was planned, we somehow forgot about it. :)
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.
Fix a few typos and add a backport (compat) for hex2bin()
Add a backport (compat) for quoted_printable_encode()
Add setting ['composer_autoload']

Supersedes PR #3132
[ci skip] Add a note about CI_Driver (issue #3140)
Add changelog entry for CSRF status code; remove line at EOF
Merge pull request #3134 from kdazzle/patch-1

Return 403 instead of 500 if no CSRF token given
Fix #3161
Support for menubar attribute to the :func:`anchor_popup()` 

Now the menubar can be set to yes with anchor_popup() by adding new attribute array element 'menubar' => 'yes' 
The list of all available attribute for anchor_popup() function will be 
$atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'menubar' => 'no', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
Merge pull request #3162 from MianSaleem/patch-1

anchor popup's menubar attribute is missing
Using ImagePNG in CAPTCHA helper
Using ImagePNG function, if ImageJPG not exists
Polish changes following PR #3173
CSRF whitelist supports regex

Signed-off-by: Casey Hancock <crh431@gmail.com>
Alter Pull #3176 - CSRF Whitelist
[ci skip] Polish changes from PR #3176
Query builder, IS NOT NULL support #3194: Adding a changelog entry.
Upgrading the function html_escape(), escaping twice can be prevented by setting the second argument to FALSE.