Make t_iprop.py faster and more robust

Catch SIGUSR1 in iprop-mode kpropd so that we can use it to interrupt
sleeps and make kpropd do an iprop request immediately.

In k5test.py, add prod_kpropd and read_from_kpropd methods to allow
test scripts to send a SIGUSR1 to kpropd and to read its stdout/stderr
output; also allow the test script to specify additional arguments
when starting kpropd.

In t_iprop.py, start kpropd with -d and, instead of sleeping, read
kpropd output until we see an indication that kpropd is in sync with
the master.  To avoid delays, prod kpropd before waiting for sync and
after a completed full prop.
Don't use void * arithmetic in interposed_oid
Eliminate races in t_iprop.py

After we start kpropd, read about the initial full dump before making
changes on the master.  Avoid prodding kpropd for this read (by
shifting responsibility for the initial prod to the caller) since
kpropd doesn't sleep before its first request.

When waiting for sync, note whether we got a full propagation and
match that up with our expectations.

Use a long polling interval so kpropd doesn't wake up on its own and
confuse the test script with an extra incremental update.
Move pa_data encoding into a separate function
Move forward tokeninfo filtering
Migrate to non-destructive tokeninfo selection
Add responder support to preauth_otp
Reset the prompt_types list after calling prompter

Reset the prompt_types list immediately after the prompter callback
returns, as is done everywhere else.
Sanity-check loading keys and certs from PEM files

Print a debug message if we're unable to locate the matching private key
for a certificate when we've just loaded both of them from PEM files.
Don't try to free an uninitialized keyblock
Make sure that pkinit_octetstring_hkdf() inits NSS

Create an NSS context for use when performing KDF, so that the tests,
which call into the function directly, will work.
Handle anonymous-as-signed-data-with-no-signers

Update to generate and consume signed-data with no signer-info, which we
need for anonymous PKINIT.
Correct type mismatches for get_as_key callbacks
Export krb5_cc_move()
Use hex escaping for non-printable trace data

When adding {str}, {lenstr}, or {data} to trace output, scan for
bytes which might be non-printable, and add them as hex-escaped
versions of themselves if any are found.
Add a -C flag to klist to also show config entries
Wait for correct message in t_iprop.py

The message "Got incremental updates from the master" precedes
actually replaying the updates on the slave.  Instead look for
"Incremental updates:" (the statistics message), which happens just
after the updates are replayed.

Also, we don't need to import time now that we're not sleeping.
Bump libkdb5 API and DAL versions

We made two sets of incompatible changes to the DAL and libkdb5 API
during development for 1.11 (master key list simplification and policy
extensions), so increment the appropriate version numbers.
Set pointers to NULL after freeing them
Disconnect the texinfo users guide from the build

Its content has been migrated to or superseded by the krb_users
reST documentation.

The texinfo document attempted to have a general introduction to
Kerberos, but it is not quite suitable for the target audience
of the user's guide and will be rewritten.

A few portions of the texinfo document are simply no longer relevant
and do not need to be migrated.  In particular:
The krb5-appl utilities are out of scope for this document, as they
have been moved to a separate repository.  Coverage of ksu may be
brought back at a later time, though.
The Kerberos Glossary will be expanded and handled separately.

ticket: 7408