Provides specialized Bidiagonal solvers

This PR provides specialized linear solvers and eigensystem solvers for `Bidiagonal` matrices

Additionally:
- Bidiagonal methods are cleaned up
- overtyping of existing `Bidiagonal` methods is reduced.
- Miscellaneous improvements to Bidiagonal tests, including tests of `Float16` and `BigFloat` eltypes
- Adds BigFloat(x::Float16)