Fix some issues related to eigvals

- Pass arguments to eigvals to eigvals!, so that eigvals(A, irange)
  and eigvals(A, vl, vu) work as described in the docs
- Restrict eigvals!/eigfact! to real symmetric/Hermitian or complex
  Hermitian matrices. Previously we allowed these methods to be called
  on complex symmetric matrices, which did not give correct results.
Introduce RealHermSymComplexHerm typealias and use where applicable
Merge pull request #6812 from JuliaLang/sjk/eig

Fix some issues related to eigvals