Merge in upstream changes from CodeIgniter development branch.