Updated package exports.
Exported TV-CLOSURE.
Moved PAR-LOOP to cram_language.
Made calls to REFERENCE synchronized.

We assume that the reference method computes it's value
deterministically. In the common case, this is done by returning the
DATA slot or calculating a value. By adding a lock, we sort of can
enforce that calculation is done only once which fixes #5.
EXECUTE should block until the task starts running.

Otherwise, we might run into race conditions, e.g. when the parent task
should run two children with a similar path in parallel.
Synchronize access to task tree nodes.

This should fix #6 which probably was a race condition in the task tree.
Added PROJECTION-RESULT object.

The object stores the bindings of projection variables and the result of
the body form. That way, the projected episode can be re-used later.
Always store the executiont race in the projection result.
Instead of reusing the same episode knowledge for top-level tasks, create new instances.

This should avoid race conditions with top-level tasks being executed in
paralell, in multiple projections.
MONITOR-PROCESS-MODULE returns the correct result for synchronous modules now.
Moved WITH-DESIGNATORS to cram_plan_library.
Got rid of unused shadowing-import.
Added file DEFAULT-PROJECTION-VARIABLES.
WITH-PROCESS-MODULES-RUNNIGN establishes its own top-level now.

That way, it is possible to execute WITH-PROCESS-MODULES outside of a
top-level plan which allows to switch projection with simulation or a
real robot.