Fix minor memory leak in klist (again)

Commit 6e51f9cc3152c8e419fe7f459bcf521d60358434 attempted to fix two
minor memory leaks in klist, but one of the fixes was dead code.  In
do_ccache, free princ before we look at the code which terminated the
loop, not after we have returned on either branch.
Get rid of static KDC authdata systems

Remove the static_authdata_systems table from kdc_authdata.c and
instead call the relevant functions explicitly in handle_authdata.
Eliminate the flags field from krb5_authdata_systems as it is no
longer used.  Rename the functions to be more descriptive.  Move
simple conditionals on authdata processing to handle_authdata for
clarity.  Move handle_authdata to the end of the file to avoid the
need for static function declarations.

[For review purposes, renaming functions and moving handle_authdata
are split out into separate commits.  They will be squashed into this
commit before pushing.]
Rename/simplify KDC authdata functions

[This will be squashed into the previous commit.  It covers renaming
the authdata functions, removing unused parameters, and moving simple
conditionals into handle_authdata.]
Move handle_authdata to end

[This will be squashed with the previous commit.  It covers moving
handle_authdata to the end of the file and removing the forward
declaration of handle_signticket.]
Add declarations for new KDC authdata interface

Add a pluggable interface for KDC authdata using the current plugin
infrastructure, mirroring the KDC functionality of authdata_plugin.h.

[XXX to do: document flags field or declare it unstable; decide
whether to install this or document it as still private]
Use new KDC authdata interface in kdc_authdata.c

Remove the server authdata interface declarations from authdata.h and
the code to load and invoke old KDC authdata modules.  Add code to
load and invoke authdata modules using the new kdcauthdata pluggable
interface.

[XXX RT headers]
Modernize kdc_authdata.c

Adjust whitespace, identifier names, and in some cases flow control.
No functional changes.
Update test KDC authdata module to new interface

Remove plugins/authdata/greet, which was a v0 KDC module.  Modify
plugins/authdata/greet_server to use the new interface.  Within
greet_auth.c, remove the unused function greet_kdc_verify.  Build the
greet_client and greet_server modules by default, but do not install
them.
Add KDC authdata tests

Add a new test script t_authdata.py and a C harness adata.c to test
KDC authdata handling logic.  KDB module authdata is not currently
tested.