Set default principal for password change to credential client

The default client principal for krb5_set_password, if the
principal argument were NULL, was krb5_get_default_principal.  But
krb5_set_password requires credentials for the password change service
be passed in, and those credentials are already associated with a
client principal that's much more likely to be the correct choice for
a default.  Use that principal instead of krb5_get_default_principal.
Check password quality in kpasswdd on administrator changes

Previous versions bypassed the password quality check in kpasswdd
if the password was being changed by an administrator instead of
the user.  However, password quality checks are how password
history should be implemented, and administrator password changes
should also go into history.  Check password quality unconditionally.
Always check password quality in kadmind

Previous versions bypassed the password quality check in kadmind
unless the user was changing their own password.  However, password
quality checks are how password history should be implemented, and
administrator password changes should also go into history.  Check
password quality unconditionally.