WIP: Efficient eigenvalue/vector and singular value/vector computations for special LAPACK matrices

Provides new LAPACK wrappers where necessary to provide specialized eigenvalue/vector and singular value/vector routines for `Triangular`, `Tridiagonal`, `SymTridiagonal`, `Bidiagonal` and `Diagonal` matrices.

Related issue: #3688

- `Triangular` (provided by #5255)

- `Tridiagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`
- `SymTridiagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`
- `Bidiagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`
- `Diagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`