Move LazyMessageByRef::describe() out of line.
Add Error::describe(), which gives a description of the message that would be produced (potentially informative even if the message itself cannot be formatted).
For sufficiently small traces, archive during finalization.

This is performed by OutputStreamAllocator::archiveTo(), which must only be used when the trace has been completed.

The size limit defaults to archiving traces <= 0.5GiB, but can be overriden by the "SEEC_ARCHIVE_LIMIT" environment variable.

The name of the archive defaults to "PROGNAME.seec", where PROGNAME is argv[0] from the client program. If the program name cannot be found then the archive name will be based on the execution trace folder name (e.g. "p.PID.seec").

Execution trace folders now have the extension ".seecd", to distinguish them from execution trace archives (which take over the extension ".seec").

The runtime library now uses wxWidgets, which requires the (static) wxWidgets libraries to be built with the "-fPIC" option.

The environment variable "SEEC_TRACE_NAME" is still used to specify the output trace name. The trace directory and trace archive will have the appropriate extensions added to the value of SEEC_TRACE_NAME.