- (djm) Change directive delimeters to "{{...}}", so it is possible to
   include rerefences to arrays (previously "[[array[1]]]" would be mis-
   parsed).
 - (djm) gc some dead/debug code
 - (djm) Some polish: flesh out README, document functions in xtemplate.h,
   lots more TODO
 - (djm) Add xdict_len() function and regress tests for it
 - (djm) Added some xarray_append_* helpers
 - (djm) Document xobject_deepcopy and xnamespace_set
 - (djm) Bug: text after final directive was being lost
 - (djm) Bug: errors in for loops were not being reported
 - (djm) Use new xdict_len for better dictionary evaluation
 - (djm) Added xdict_replace_sn and xdict_insert_sn helpers
 - (djm) Add xint_add() function
 - (djm) Modify template generation routines to perform output using a
   callback function, so we can support different output modes. Rewrite
   stdio output mode using a callback.
 - (djm) Rename xtemplate_run to xtemplate_run_stdio ahead of support for
   new output styles
 - (djm) Add xtemplate_run_mbuf() to generate into a automatically
   allocated memory buffer
 - (djm) Add a basic regression test
 - (djm) Fixed some invalid syntax that was incorrectly being accepted, found
   by the nascent regress test :)
build on OpenBSD
 - (djm) Remove horrid casting: all public functions now work on struct
   xobject * alone, the other types are still used internally.
 - (djm) Adapt to libxobject's API change
 - (djm) Start rename and merge of projects formally known as xobject and
   xtemplate into "libmtemplate". CVS repository files have been copied to
   preserve history
 - (djm) Rename xobject and co. to "mobject" (Google codesearch tells me that
   this is a pretty clean namespace)
 - (djm) Merge in and rename mtemplate (formerly xtemplate). Also done by
   CVS repsoitory copy and rename
 - (djm) Merge TODO, README and ChangeLog
ignore
 - (djm) Move compat hacks into their own header, conditionalise
   compilation based on OS defines.
 - (djm) Implement xtemplate_free() + regress tests
 - (djm) Implement generic escaping of '{' characters, allowing any number of
   them to be escaped in one directive.
 - (djm) Rename xnamespace_* => mnamespace_*
 - (djm) Fix some memory leaks
forgot to add this in the last commit
 - (djm) Fix some warnings so I can turn off non-portable gcc warning
   flags
 - (djm) Copyright year in all notices
 - (djm) API change: make all convenience functions return a pointer to
   the created object