Made all plugins threaded.

This will help in asynchronous communication with components connecting to the beliefstate. All plugins are now executed in their own thread, and communicate with the `master' component via mutexed Result variables.
Replaced the manually set base data directory by a much more convenient global settings structure
Made all ROS communication asynchronous; also, fixed threaded internal communication (events, services)

There were several blockers (mutexes, namely) within the thread communication code. These should be fixed for now. ROS services called from the outside can now block while the plugins in the beliefstate process the request asynchronously.