RFC: selection of shift-and-invert mode in eigs

This changes the selection of shift-and-invert mode in eigs as discussed in #4474:

- if `sigma==0` and `which="LM"` (default) the eigenvalues with largest magnitude are calculated
- if `sigma==0` and `which="SM"` inverse iteration is used to find eigenvalues with smallest magnitude
- if `sigma!=0` shift-and-invert is used to find eigenvalues closest to sigma

The docs are updated and I have added a test for the case with `which="SM"`.
(cc: @ViralBShah, @stevengj)