First version of PGLS via pruning complete.

This is significantly slower than the contrasts based approach, as only
the R backend will work (this is silently enforced at the moment).  Getting
the C backend working will require some fiddling with the cache, as
PGLS is weird with the states changing with the parameters.
PGLS via pruning, using C backend (faster)