Clean up LAPACK wrappers

- Eliminate generic `error`s
- Remove testing for single-character inputs - LAPACK already does this.
- Remove `info`s as returned quantities from LAPACK wrappers (except for `getrf!`, `potrf!`, `pstrf!`)
- Introduce error handling macros
  - `lapackerror` (throws exception for all non-zero `info` codes)
  - `assertargsok` (throws exception for all negative `info` codes)
  - `assertnonsingular`, `assertposdef`(throws exception for positive `info` codes)
- Replace square matrix checks with `chksquare`
- Add mode validation for `uplo` with `chkuplo`