move some codes from EigenExecutionerBase to NonlinearSystem and other improvements #2350