Fix self-adjoint products when multiplying by a compile-time vector.
The implicit assumption for self-adjoint Matrix-Vector products is that the vector is a column vector (i.e. same size as the matrix).
In the case of a row vector, revert to the generic matrix-matrix product.
This replaces !1931 (merged), which broke the selfadjoint_eigensolver tests.
Fixes #2943 (closed).