Changes for version 2.0:
 - internal Geppetto objects now must start with an 'objectHeader header',
   rather than specifically including an 'objecttype' and a 'datatype' as
   the first two elements in the structure.  (You don't care about this unless
   you're hacking on the library).
 - hacked on the ant and multiplex applications to support multiple cases
 - tweaked a few things for cleaner compilation
   (from Martin_C_Martin@GS159.SP.CS.CMU.EDU)
 - did some general portability hacking.  Now compiles and runs on SunOS,
   Ultrix, HP-UX and BSDI.
 - fixed a checkpointing bug (pointed out by Wu Zhiming
   <wu@athena.polytechnique.fr>)
 - fixed an uninitialized element in complexOperatorSrc objects
 - fixed a core dump due to freeing an uninitialized 'errorMessage' pointer
   (pointed out by "Tony (A.R.P.) White" <arpw@bnr.ca>)
 - cleaned up the pmrand code, made it a bit more portable
 - fixed a minor problem with mutations and problems which return a specific
   value
 - added the BSD Net2 qsort() (because system-provided qsort() routines sort
   identical values differently) and a really lame strtod()
 - moved population-specific variables into 'population' object; see either
   doc/using-geppetto or include/population.h for details
 - renamed 'interface' to 'global'
 - renamed populationEvalCleanup() to populationEvalCleanupFunc() to match
   other macros of the same type
 - added Creation and Hoist breeding methods (as described in the ICNN and
   ICGA papers by Kim Kinnear <kim.kinnear@sun.com>)
 - main.o is now part of the library; one less source file to worry about
 - added John Muir trail to ant.c
 - now do 3-multiplexer and 6-multiplexer as well as 11-multiplexer
 - added a 'global' object to handle co-routines
 - coroutines now work
 - added a discrete game implementation that handles either player or, using
   coroutines, both
 - attempted to get a CoreWar implementation working

Changes for version 1.2:
 - added code to allow alternate program output formats
 - patch from "Tony (A.R.P.) White" <arpw@bnr.ca> which adds a *very*
   important '!' character and fixes repeated evaluation of parse trees

Changes for version 1.1:

 - added code to catch 'result' leaks
 - 'interface' now reorganizes function/operators lists to remove bias in
   object selection while building parse trees
 - eliminated 'adjusted' variable from 'program' (8 bytes/program, 4K for a
   500 program population)
 - fixed 'blob' (user-defined complex data) support so it actually works
 - added the 'blobsample' program to demonstrate use of 'blob'
 - caught a minor memory leak (in the generic list code)
 - all datatypes can now be checkpointed.  Previously, only dtInteger and
   dtFloat were handled
 - removed unfinished application examples
