Added prolog facts for perception calls when querying for currently visible objs

Use it like this:
(crs:prolog `(currently-visible-objects ?template ?obj))

The `?template' parameter is an object designator holding the object description prototype to pass to the perception subplan. In case you don't want to specify a template, omit the parameter:
(crs:prolog `(currently-visible-objects ?obj))
Reintroduced on-event hook for keeping track of designator generation

Designators were not properly handed over to the beliefstate system. This is fixed now.
Merge branch 'master' of github.com:cram-code/cram_highlevel
Merging conflicts resolved
Improved pick and place behaviour
Introduced `define-hook` hooks for high level functions when performing action desigs
Made visualization for costmaps look a bit nicer (+ code formatting)
Indentation
Undid former addition of prolog facts for calling perception
Registering of init functions now use the new mechanism

Also, don't subscribe to topics we don't need (i.e. `/collision_objects`).
Added a hook for when semantic collision objects are published
Correctly export semantic-map-name symbol for supplying semantic map names
Removed debug output
Removed unnecessary prog2
Added `assert` for when no semantic map name was specified.
Merge pull request #14 from fairlight1337/master

Mostly Pick and Place, and code maintenance + an update for sem-map-utils::map-name prolog predicate.