Behave-Tree

Simple implementation of behaviour trees, in Common Lisp.
Nodes are implemented as functions (methods specialising on the actor's class
and behaviour's name). Nodes can intermix other nodes with arbitrary lisp
expressions. Nodes signal failure by returning nil, and success by returning
some other value.

The Common Lisp condition system is used to exit from the tree when necessary
(for example, when a time-consuming action is undertaken, or when the actor
dies).