Add doxygen markup
Regenerate stylesheet.cc
autogen: can use /bin/sh, therefore do so.
configure: use /usr/local on FreeBSD
unicode: use a cast to support platforms with broken iconv() signature.

C++ won't tolerate implicit conversion from 'void *' so we have to
work out what the destination of the cast should be.
test: always use bash for test scripts.

Works around a bug in the FreeBSD sh
(assignments aren't exported when invoking a function).
document: provide virtual destructors for base classes.
Add missing <unistd.h> includes
debian/rules clean succeeds even without a Makefile.

Reported by Matthew Vernon.
backup: report errors more uniformly

Errors creating directories and flag files are now reported the same
as failed rsync jobs.  This means that there's a greater chance
problems will show up in the backup report rather junk mail from cron.

The implementation is a bit of a kludge but should do the job for the
time being.

Problem reported by Peter Maydell.
logging: format dates more sensible
logging: another try at date formatting
date: remove redundant method signature
hooks: proposed interface
Hook support
More hook support work.
Tests verify that (only) expected hooks ran.
--divisor option to snapshot hook script
hooks: tidy up FD handling
hooks: systest script & fix various hook script problems