added new ik solvers: free_angle, joint limit avoidance (jla), mid_joint. Abstracted solver in plugin to ease using different solvers in plugin