BUG: fix broken UPLO of eigh in python3

UPLO was cast to bytes and compared to a string which is always false in
python3.
closes gh-3977
BUG: reject invalid UPLO with ValueError in eigh/eigvalsh

to prevent unintentional use of wrong function. Restores 1.7 behavior.
Merge pull request #3978 from juliantaylor/py3-eigh-bug

BUG: fix broken UPLO of eigh in python3