first go at poor-lpca
Working first stab at poor-man's LPCA
Now collapsing near-identical columns

(But I don't think it's doing the right thing in interpreting them-- the
weights need to get split up by length?)
Trying out weighting by length.

@bcclaywell it seems to me that this will do the weighting according to
edge length for the eigs as described in the email to Steve. It is the
equivalent of multiplying the evects of GL on the right by L. Could you
give it a shot with your synthetic data? Thx.
Fixing the pretty printers for mats and vecs
Refactoring covariance matrix calculation.

Passes tests, which exercise scaled and unscaled versions.
Merge branch 'dev' of github.com:matsen/pplacer into 281-poor-lpca
better comments for BD diagonalization.
Making the length PCA code less silly.

Lost a number of allocations and conversions between GSL matrices and
float array arrays by moving some intermediates to arrays of GSL
vectors.

Passes tests.
doc tweak
Sketch out basic info for lpca implementation.
Basic backbone of LPCA, still with some FIXMEs
Better folding strategy.
Rough implementation of lPCA; needs integration into guppy
Move stuff around and start integration into guppy.
Make sure input placements are sorted by distal length
Minor housekeeping before debugging
Fix incorrect usage of Gsl_* operations and bad shallow copy of data.
Don't forget about the "leftover" region before the proximal node
Small changes to debugging helpers