doc: Add documentation for reauthorization scheme

And add documentation for the "authorize" protocol control
messages.
reauthorize: Implement reauthorization pam_reauthorize.so PAM module

This doesn't actually make use of it in Cockpit yet. Includes tests
and various tools to try it out.

The tests require you to do do this (usually after each build):

$ sudo make enable-pam-tests

Otherwise many of them will just be skipped.

We don't use libtool. Building a PAM module doesn't require it. Our
PAM module is (currently) linux specific, and we can build shared
modules there just fine without libtool.
common: Backport g_unix_fd_add() and friends

Backport the new g_unix_fd_add() and related functions which
define GSource's for unix fds. This prevents us from having to
define a custom GSource in CockpitPipe.

In addition we'd like to use these sources for the reauthorization
work.
WIP make transport an abstract base class
common: Add new CockpitTransport::control signal

This signal is fired when a control message is received by the
transport, and no recv signal handler has processed it. We use it
in the agent, to have multiple handlers for control messages,
but still avoiding parsing and validating them multiple times.

In the case of the web service, since we're mainly forwarding
messages, we don't use this new signal.
WIP track creds per session

FIXUP session creds
WIP Implement reauthorize

FIXUP Implement reauthorize
WIP polkit agent