Get time offsets for all keyring ccaches

Move the time offset lookup from krb5_krcc_resolve to make_cache, so
that we fetch time offsets for caches created by
krb5_krcc_ptcursor_next.

ticket: 7820
target_version: 1.12.2
tags: pullup
Update copyright years and acknowledgments
Make rcache resolve functions take const char *
Clean up GSS krb5 acquire_accept_cred

Use a cleanup handler instead of releasing kt in multiple error
clauses.  Wrap a long line and fix a comment with a missing word.
Rewrap the function arguments to use fewer lines.
Clean up rcache if GSS krb5 acquire_cred fails

The error handler in acquire_cred_context didn't release the rcache,
which would cause it to leak if we failed after acquire_accept_cred.

ticket: 7818 (new)
target_version: 1.12.2
tags: pullup
Add rcache feature to gss_acquire_cred_from

The "rcache" cred store entry can specify a replay cache type and name
to be used with the credentials being acquired.

[ghudson@mit.edu: split up, simplified, and altered to fit preparatory
commits]

ticket: 7819 (new)
Avoid assertion failure in error_message

r17942 added a call to get_thread_buffer in the first part of
error_message, prior to the call to com_err_initialize.  This can
cause an assertion failure from k5_getspecific if error_message is
called on a system error before any other com_err functions are
called.  Move the initialization call earlier to prevent this.

ticket: 7822 (new)
target_version: 1.12.2
tags: pullup
Allow empty store in gss_acquire_cred_from

There is no reason to deny a zero-length cred store, so don't check
for it in val_acq_cred_args or val_add_cred_args.

ticket: 7836 (new)
target_version: 1.12.2
tags: pullup
Add test for gss_acquire_cred_from rcache feature