MAINT: fix eigs and eigsh error messages, fix a related possibly off-by-one validation issue, and add a test

Should close https://github.com/scipy/scipy/issues/3714.

Note that in addition to tweaking error messages and adding a test, this PR also technically changes the API a bit.  The `eigs` function will no longer reject `k == n-1`, which I assume was an off-by-one error in the original code.  No test covered that case.