Factored out PCA into a cmd_obj for lPCA and ePCA to use.

EOD commit, still a few FIXMEs and TODOs (and testing) to take care of.
Fill out the upper-triangular result of lPCA