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. :)
update