Message: rename Datum enum to Slot; add REPLY to Slot; remove superseded get_reply and set_reply.
Message.hh: fully document unit.

Engine: rename get_short_app_name to get_app_name and the former get_app_name to get_long_app_name; return an empty string for unbound commands from get_command_binding.
Monolog: correctly handle null mprintf function pointer in attach method.
Version: add stream insertion operator.
Engine.hh: fully document unit, less two methods still pending testing.

Doxyfile: adjust various settings.
Object: make the Number constructor explicit; add a default constructor; make NONE, ANY, and SELF Objects instead of Numbers.
THIEF_OBJECT_TYPE: update constructors to match Object.
Object.inl: new inlines file with semi-private declarations moved from Object.hh and definitions from Object.cc.

Link: make the Number constructor explicit; add a default constructor; make NONE a Link instead of a Number.
THIEF_FLAVORED_LINK_COMMON: update constructors to match Link.

Property: make the Number constructor explicit; add a default constructor.

Engine: rename include_ai to include_mesh in raycast methods; allow TERRAIN raycasts in Object override.
Engine::RaycastHit: add operator bool.
Engine.hh: finish documentation.

Script: check that template type for host_as method inherits from Object.

Container::Content: add constructor.

ParameterCache: use Objects instead of Object::Numbers for DesignNote::Ancestors, Data, the current variable, and the update_object, unwatch_ancestor, read_dn, and write_dn methods.

LGObject: switch from a typedef to a thin wrapper with Object and template Object-descendant conversion operators.

Makefile: add Object.inl; add module.hh to HEADERS list.