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.

- `Triangular`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`
- `Tridiagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`
- `SymTridiagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`
- `Bidiagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`
- `Diagonal`
- [ ] `eigvals`
- [ ] `eigvecs`
- [ ] `svdvals`
- [ ] `svdvecs`