Added ability to change planner configurations in the interface

Changes:

* Converted all std::vector<PlanningConfigurationSettings> to std::map<std::string, PlanningConfigurationSettings>
* Added hooks to getPlanningConfigurations() and setPlanningConfigurations() in various places
* Created a new cost function based on distance between joint positions. Made this default - should it be? Or should we stick with proximity to collisions cost?
* Added assignment such that the planning context config is reloaded every time a new plan is generated, regardless of the cached planning context

My apologies for the formatting changes, I undid some of it but its a lot of work.