Add the InfdAccountStorage interface
InfdFilesystemStorage: Make the XML reading/writing functions public

This can help to simplify InfChatFilesystemFormat and
InfTextFilesystemFormat, and it allows external code to alter XML files
in the storage.
Implement InfdFilesystemAccountStorage
Add inf_acl_sheet_set_sink()
Fix a possible warning when the permissions dialog is closed

It can happen that dispose() is called twice.
Fix a warning in the permissions dialog

This could happen when the default sheet of a node was empty and a new
account was added to the sheet in the dialog.
Update button sensitivity after pending realization in permissions dialog
infinoted: Make sure startup errors also show in log file

This allows system administrators to only filter the log file for
errors, and they don't have to keep also an eye on stderr.

However, early startup errors are still only logged to stderr, in case
they happen before the log file could be opened, for example when the
configuration file is incorrectly formatted.
Add inf_cert_util_write_certificate_mem()

This also changes the internal certificate writing proceduces from
GIOchannel to GString, which allows to write the files with
g_file_set_contents(). This has better error checking, and more
importantly, it writes files atomically.
Set a title for the account creation window
Don't trust every certificate where the issuer is not found

The code was written under the assumption that when asking GnuTLS to
verify a certificate, it always fills the verification result fully.
However, when the issuer is not found, it immediately returns and does
not report other reasons why the certificate might be invalid.

However, we need to do at least a certificate verification even if the
signer of the certificate is not found, because in the latter case, we
use trust-on-first-use, and if the user decides so, still accept the
certificate. This is now fixed by running the certificate validation a
second time when the signer is not found, where we explicitly provide
the signer sent by the server.
Don't require client certificates to be signed by a CA

The server only requires that it is signed by one of the certificates in
its list. The client does not verify the signer of the retrieved client
certificate, since it has to trust the server anyway.
Correctly remove outdated user accounts when client updates account list
Permissions dialog: Lookup unknown accounts from cache before querying browser
Permissions dialog: Lookup account names after query-acl-account-list

This updates the dialog when the query-acl-account-list permission has
been granted while the dialog is open, and some un-lookupped names are
lingering in the list.
Don't remove ACL-queried flag when query-account-list permission was dropped

The can-query-acl-account-list permission is no longer required to query
the ACL of a node.
Fix delicate warnings and crashes in InfGtkPermissionsDialog
infinoted: Fix crash when reloading options without command line args
Make InfdDirectory use the InfdAccountStorage interface