Merge changes from the WSMP branch to the master branch

The WSMP branch contains many changes other than the use of WSMP for solving sparse systems.  In particular
- The LinearMixedModel type now has a `uβ` member which is a numeric vector of length `q+p`.  The `β` and `u` members are contiguous views into `uβ`.
- Corresponding changes in the  `A_ldiv_B!` methods for `PLSSolver` types.
- A new `PLSSolver` type called `PLSTwo` for two crossed or nearly-crossed grouping factors.  This is especially useful in data from experimental psychology or psycholinguistics.