* The UNIX socket will be listened on for control messages
* A message containing a single 'Q' will cause it to exit
* A message containing a single 'R' will cause a configuration reload.
If the new configuration is incorrect, the old configuration will be
kept. A new socket will be opened if the path has changed (failure
when doing so will restore the previous configuration as well).
* A message starting with 'U' requests an update. The next character
may be '!' to force updates or anything else to update only as
needed. The rest of the string is the selector: either a DN or '*'.
* The selector is ignored in this commit; all certificates are
re-examined.
* An example configuration file has been added.
* The data structure that corresponds to the configuration has been
defined, and functions to load it have been added.
* Logging using logrus and command line arguments that configure
logging and set the configuration file's path have been added.
* Opening the UNIX socket has been implemented.