Refactoring of grasping code, clean up of interfaces for grasp assignments and logging, general code clean up

The grasping code was relying in lists with an implicit structure. As this was hard to maintain and very difficult to understand, those lists are not replaced by classes with proper field names. Also, all grasping related information is now additionally logged in a much more comprehendable way, now also including gripper effort and grasp type used when grasping an object.