Added code for automatic port placement as a module bundled with the PortPlacement extension. Nowhere near ready yet, but has code for davinci FK, IK, collision primitive generation, and collision primitive distance calculations.
Added external project NLopt for optimization, along with a light optimization routine for finding passive configurations to reach given RCMs. Fixed an error in extracorporeal primitive generation. Added a method to module logic for visualizing da vinci arm.
Added unscented transforms for IK and instrument clearance, along with test cases.
Forgot to add some tests
Measurements for the active mechanism are now completely correct.
Initial try at correct measurements for passive arms
Fixed a rendering issue for davinci. Accurate-measurement davinci works!
Some cleanup and fixing test cases for new accurately measured davinci kinematics
Implemented preliminary, kinda-sorta working version of minimax optimization to find a feasible plan
Changed port equality constraint into an inequality constraint. Doesn't seem to work well yet, though. Possibly issues in distance computation
Fixed error in passive arm clearance constraint
Merge branch 'feasible-plan-optim' into all-ineq

Conflicts:
	AutoPortPlacement/Logic/optim/optim.cxx
Adjustments to feasible plan optimization
Forgot to add feasible plan test file to repo
forgot to add find-feasible-plan-test.cxx to repo
Adjusted feasible plan optimization so that every pair of distances has its own constraint.
Fixed error with bounds on intracorporeal mechanism joints
Adding some known feasible solutions for rendering in the APP widget
Refactored to use a method in DavinciKinematics for retrieving amount of active clearances
Added unscented transform to findFeasiblePlan