Add Procrustes PNP ("PPnP") resection algorithm to libmv

This adds a new Euclidean resection method, used to create the
initial reconstruction in the motion tracker, to libmv. The method
is based on the Procrustes PNP algorithm (aka "PPnP"). Currently
the algorithm is not connected with the motion tracker, but it
will be eventually since it supports initialization.

Having an initial guess when doing resection is important for
ambiguous cases where potentially the user could offer extra
guidance to the solver, in the form of "this point is in front of
that point".

Original patch by Keir Mierle made to Blender repository.
Fix for uninitialized covariance matrix

Lead to unpredictable tracking termination criteria.
Code cleanup: spelling correction

Original patch by Joseph Mansfield to the Blender repository.