Maintain iteration cursor when reopening DB2 DB

If we iterate over a DB2 database and the callback performs a write
operation, we will close the DB object and reopen it for writing,
throwing away the cursor state of the old DB object.  Add a new field
to krb5_db2_context for the current cursor position, set it in
ctx_iterate, and use it in ctx_lock to maintain the cursor position
when reopening the database.

This fixes a display error in kdb5_util update_princ_encryption.

ticket: 7684 (new)