Values are now read from kinematics.yaml correctly.

Fixes issue https://github.com/ros-planning/moveit_setup_assistant/issues/99. I wanted to confine the changes to findValue(), but everything I tried caused findValue() to crash.

> Why not just write a function that receives group_it and the string key as argument and returns it.

findValue() does not find "key" in "node", even though it should, theoretically. I tried to use a new version of findValue(), findValue2(), like this:

    yaml_node_t findValue2(const YAML::Node& node, const std::string& key)
    {
      if (node[key])
        return node[key];
      return yaml_node_t ();
    }

Unfortunately, findValue2() crashes while evaluating node[key]. This happens even if "key" is a "const char *" instead of a std::string. Here is the beginning of the error message:

    [moveit_setup_assistant-2] process has died [pid 17513, exit code -11

After some more investigation, I have found that findValue() works if the first argument is a YAML::const_iterator instead of a YAML::Iterator, like this:

    prop_name = findValue( group_it->second, "kinematics_solver" )

However, that won't work with yaml-cpp 0.3, which uses YAML::Iterator. I can reduce the code size a bit by calling findValue for both the old and new yaml-cpp versions, but there will still need to be an #ifdef around each call to findValue(), one that passes group_it->second, and one that passes group_it.second().