Allow setFromIK() with multiple poses to single IK solver

Allows a call to setFromIK() that has multiple tips and desired poses to send them all to the same IK solver, if that solver allows it. If no solver exists for the current planning group or that solver does not support non-chain kinematics, the previous MoveIt! behavior is maintained whereby it looks for subgroups that are chains that have their own IK solvers and calls them individually.

This is a follow up of https://github.com/ros-planning/moveit_core/pull/149

### Minor Changes

Reduced duplicate code by moving two common code snippets into their own functions:

 - Created new helper function for changing a pose to the base frame of an IK solver
 - Created new helper function for converting a Eigen pose to a geometry_msgs pose

Contains outstanding PR:
https://github.com/ros-planning/moveit_core/pull/177
At the heart of this function yes, it does call ``getGlobalLinkTransform()``. But it encapsulates several other lines of logic that I saw repeated throughout the ``setFromIK()`` functions that I thought would increase clarity by removing this sub function, including
- Checking if the two frames are already the same
- Checking if the frame is prepended with a '/' or not
- Checking if the LinkModel pointer is valid
- A line of math
- Getting the base frame from the solver

I think it should stay