Add support for client keytab from cred store

The new credential store extensions added support for specifying a
specific ccache name and also a specific keytab to be used for accepting
security contexts, but did not add a way to specify a client keytab
to be used in conjunction with the Keytab initiation support added also
in 1.11

This patch introduces a new URN named client_keytab through which a
specific client_keytab can be set when calling gss_acquire_cred_from()
and Keytab Initiation will use that keytab to initialize credentials.

[ghudson@mit.edu: minor C style fix]

ticket: 7598 (new)
Add gss_import_cred_from client keytab test

Modify t_credstore.c to be more flexible and adjust t_gssapi.py
accordingly.  Add a test to t_client_keytab.py which acquire creds
using a programmatically specified client keytab.

ticket: 7598
Add krb5_kt_dup API and use it in two places

Add an API to duplicate keytab handles, mirroring krb5_cc_dup.  Use it
to simplify the krb5 GSS acquire_cred code.

ticket: 7599 (new)
Fix typo in t_credstore.c

Correctly check whether the next argument is NULL in the while loop
which parses store elements.
Clean up python bytecode from doc build

Otherwise they escape into the release tarball.
Add a krb5-config man page

Missed when converting the old nroff man pages.
Regen man pages to pick up krb5-config

Also some other small changes and the copyright date range.
Install krb5-config man page

Don't just build it.

ticket: 7601
Simplify principal access within libkrb5

For conciseness, directly use fields of krb5_principal objects instead
of using the accessor macros.