Only run svn cleanup + svn update if the source directory has a .svn
subdirectory.  The source directory might already exist but be empty;
for instance, it could be a tmpfs mount.
%INITIAL_CONFIG contains arrayrefs, so we need to deep-clone it into
%CONFIG; otherwise, modifying e.g. %CONFIG{ENV} will actually modify
%INITIAL_CONFIG{ENV} and thereby contaminate the next job.
Support variant builds, where everything after the first hyphen in the
config name (except for an optional -build suffix) indicates a variant.
It makes a lot more sense to read site.rc after the config than before it.
This allows site.rc to override existing settings, e.g. disable email
reports by clearing RECIPIENTS.  Also bump version and copyright.
Include the config name in the process title.
Allow lower-case letters in environment variable names.
Add support for include statements.
Add variant configurations for building head without clang and bmake.