Add master key rollover tests in k5test framework

Add a new script t_mkey.py using the k5test framework.  Test the fixes
for #6507, #7685, and #7686 as well as basic functionality and
old-stashfile compatibility.

dump.16 was created by running "kdb5_util create -s -P footes" and
"kdb5_util dump dumpfile" with krb5 1.6.  The key from the resulting
stash file was extracted and placed in the struct.pack() call in the
new test script.
Remove old master key tests

Remove tests/mkeystash_compat and tests/mk_migr.  These are superseded
by t_mkey.py, with two exceptions:

tests/mk_migr included tests for password history across master key
rollovers.  Historical keys are encrypted in the kadmin/history key
(which is accessed like any other key), so there isn't a specific need
to test this unless we implement #1221.

tests/mk_migr had provisions for testing master key rollover with the
LDAP KDB module.  All master key logic used in the LDAP KDB module is
shared with the DB2 module in lib/kdb, so there is no specific need to
test this combination.
Use active master key in update_princ_encryption

kdb5_util update_princ_encryption should update to the active master
key version, not the most recent.

ticket: 6507
Reload master keys to find active mkey if needed

Refactor krb5_dbe_find_act_mkey and make it reload the master key list
if it doesn't find a master key matching the active mkvno.

ticket: 7685
Don't cache active master key list in kadmind

"kdb5_util use_mkey" should not require a kadmind restart to take
effect.  At the cost of fetching the K/M principal once for each key
change operation, make kadmind use the current active master key list
for each operation.

ticket: 7685