Add julia lu factorization. Fix some promotion for linear systems and fix bidiagonal and triangular solvers for multiple right hand side.

I have added a julia implementation of the LU decomposition and adjusted the higher level functions to call that when `eltype` is not `BlasType`. The decomposition is stored in the same type as the LAPACK version. I don't think pivoting is so important when `eltype` is not `BlasType` since the result should be exact for rational matrices and for `Matrix{BigFloat}` you can always adjust the precision. If necessary, pivoting can be added later.

The promotion fixes should also fix #5301

This is progress towards fixing #3014 

I have changed the tests to use multiple right hand side to catch the error in the `Bidiagonal`/`Triangular` solvers.