Added cram function NAVIGATE to allow for enforcing navigation.

When using (ACHIEVE `(LOC Robot ?loc)), the robot didn't move if it was
already standing at a valid solution. This is not what we want in
AT-LOCATION.
Use the new NAVIGATE function in AT-LOCATION.
Use LOCATION-DESIGNATOR-REACHED instead of perceive-state.

It seems like the function LOCATION-DESIGNATOR-REACHED behaves
differently to perceive-state. Use it everywhere in AT-LOCATION to
prevent location-lost errors.
GET-CACHED-COSTMAP needs to return the same costmap for all equated designators.

Instead of regenerating a separate costmap for each equated designator,
the function GET-CACHED-COSTMAP needs to return the same costmap. This
is now solved by using FIRST-DESIG.
Fixed and improved AT-LOCATION.

It seems like AT-LOCATION still suffered from race conditions. Added a
lock around anything related to navigation to prevent the reached
predicate to succeed while the robot is navigating.

Pulled out the at-location functionality into a function. That way, we
do not need to recompile everything that uses the macro.
Added goal MONITOR-ACTION and use it in plans.
Removed call to monitor until we merge in the corresponding branch.
Added assertion in at-location.
Moved reference call in AT-LOCATION to the parent task.

That way, it is possible to handle designator errors without entering
the debugger.
PERCEIVE-STATE can handle effective and non-effective designators now.
Ugly hack in robot-pose utility to make sure the robot is exactly on the floor.
Revert "Removed call to monitor until we merge in the corresponding branch."

This reverts commit 52986666b324e760c4369680e5dc5f28acbc04ab.
Got rid of roslisp-hotpatches.

The patches are now upstream in roslisp, so the hotpatch file is not
required anymore.
Added hotpatch for sbcl bug #1005161 until it is fixed in sbcl.

See bug report at:
https://bugs.launchpad.net/sbcl/+bug/1005161
Use the result of MONITOR-PROCESS-MODULE instead of PM-EXECUTE.

This should make high-level plans work with synchronous and asynchronous
process modules.
Moved WITH-DESIGNATORS to cram_plan_library.

Additionally, made it more flexible:

 * A task tree node is now created.

 * A function is used for creating designators that uses hooks. This
   allows to, for instance, use an already instantiated designator, for
   instance produced by projection.
Added stup for first real projection package.
Removed unnecessary empty lines
Initial commit of cram-feature-constraints package.
Added `near center' costmap function and predicate

In order to find the center-area of a table, container or similar, a predicate for interpreting a `(near center)' property in location designators was added. A gauss distribution is generated which marks the center area of the table and gives less probability to the edge of the semantic object.