honour krb5PasswordEnd also if sambaPwdLastSet

Commit 9f696b11c2d09869f8aaeabb4450964b462e979f changed the
behaviour of key expiry for principals that have an sambaPwdLastSet
attribute in LDAP. The change was twofold:

* if "password_lifetime" is not set in kdc.conf a default lifetime
  of 1 year is enforced

* krb5PasswordEnd is not honoured.

This patch causes pw_end to be modified only if sambaPwdLastSet
*and* "password_lifetime" is defined in kdc.conf.

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
Update hdb's use of the plugin interface

The various _krb5_plugin_* functions are gone, replace this with the new world order.

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
unify hdb_so_method and hdb_method
fix prototypes
add _krb5_plugin_run_f
Revert c1423a8 and fix things up

Also, we were stopping as soon as one registered plugin returned
something other than KRB5_PLUGIN_NO_HANDLE, but we weren't doing the
same for discovered plugins.  Add KRB5_PLUGIN_INVOKE_ALL flag to deal
with this; by default we'll stop at the first plugin that returns
anything other than KRB5_PLUGIN_NO_HANDLE.

Other buglets fixed as in c1423a8.
Quiet a warning in test_plugin.c
Fix master (lib/krb5 warnings)
Make lib/hdb/hdb.c build (but hdb plugins broken)