Allow Packet-Type, Digest-*, etc.

Code copied from radclient
Added Response-Packet-Type to output VPs
Move "digest" to new authentication test framework
Remove extraneous #ifdef's
Automatically figure out which modules need enabling
Allow auth+acct for TCP / TLS sockets
Failed to do this earlier
Use correct ifdef
More descriptive error message
Add connection pool support to rlm_krb5

This allows us  to remove the dependency on krb5_copy_context, and support threaded operation for more versions of MIT krb5
We need to set LDFLAGS and CFLAGS from SMART_CFLAGS and SMART_LDFLAGS when linking the krb5_thread_safe test program (else it might pick up the wrong version of the library)

We can now remove the dependency on MIT KRB5 > 1.11.4
Various fixes to allow building without threads
Fix typos, and some slightly incorrect assumptions

The last time I saw this in the wild it was the supplicant, it's actually pretty unlikely the NAS would modify the EAP type
Only setup should have a semi colon after it in threads.h
Create a small build matrix with optional libraries disabled
Expand the matrix to build with and without shared libs
Fix issues in cbuff when building without threads with GCC
Fix comments in our version of md5.c
#include <sys/wait.h> if were using waitpid
Fixup formatting