WIP: fixing eigs

First part of fixes for solving the issue reported in #6965:
 * default value of `maxiter` reduced (1000 was a lot)
 * change `which` specification to use symbols rather than strings, e.g. `:LM` etc
 * input preprocessing to transform `which=:SM` into a shift-and-invert method with `sigma=0`.

Remains to be done:
 * fix output postprocessing in `eupd_wrapper` to select correct eigenvalues and eigenvectors.

I am to tired to finish this now, will try to do so tomorrow.
I had a question regarding these functions. The way they are currently defined, does this mean that the factorization is recomputed every single time the function is called? I guess one should only compute the factorization once, no?