Fixed a bug in scaling of meshes.

Instead of outputting face instances, the code was just creating a
vector of vertex-point lists.
Added function for translating and rotating 3d models.
Ignore assimp's root transform since it leads to a wrongly rotated model.
Rotate normals when repositioning meshes.
Exported symbol EVENT-TIMESTAMP.
Do not block TF in a long-running callback.

Pose verification was done in a TF callback. Unfortunately, it could be
pretty expensive so it was screwing up TF. Instead of executing the
recalculation in the TF thread, spawn a temporary thread if not already
running.
Added support for multiple height generators.
Added support for choosing different sampling functions.

The generation functions now have a SAMPLING-FUNCTION keyword parameter.
Bugfix in at-location.

We need to dynamically rebind *tf* in the pulse thread that is executed
at TF updates. Otherwise, the global tf listener, not a projection local
one might be bound which causes a lot of errors.
Reindent.
Don't use a thread but a cpl:task for pulsing tf changes.

This ensures that all task-variable bindings are established correctly.
Fixed another bug in at-location.

Since TF callbacks are normally executed in a ROS subscriber thread, we
cannot simply create a task object. Creating a top-level task doesn't
work either since we need to inherit task-local variables. The new code
now uses TV-CLOSURE in a thread to explicitly bind task local variables.
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.