infinoted plugin manager: Call on_deinitalize if on_initialize fails

This simplifies makes the cleanup routines in the plugins.
Add certificate credentials to the plugin manager

This allows plugin to access the credentials and to possibly alter them. The
upcoming certificate authentication plugin needs to do this in order to
set the trusted CA certificates that client certificates need to be signed
with.
InfXmppConnection: Allow to specify gnutls_certificate_request_t

This allows to reject clients that do not present a certificate already
on the TLS level.
Remove an obsolete TODO item
Fix assertion failure when browser is disconnected while waiting for welcome
Fix two memory leaks in infinoted
Remove an outdated assertion that is no longer true with transient accounts
Add the certificate-auth plugin

This plugin enables client authentification with client certificates. The
functionality has already been available in the infinoted server itself and
is now moved into a plugin.

The has additional features compared to the previous functionality, including
the accept-unauthenticated-clients option and the feature to create a
short-lived super account that can be used to set up the initial permissions.