Fix qr multiplication

This should fix #4647. Check dimensions when multiplying with `Q`. Multiplication is now always with respect to the full `Q` to avoid confusion. This means that you cannot `qrfact(A)[:Q]*qrfact(A)[:R]`. The full `Q` is now used for printing.