Generalized BlockGSStep
Dear devs and users,
I tried to come up with a general pattern that most, if not all, of the current Block-Gauss-Seidel steps can be transformed into.
I would greatly appreciate your feedback, extension of this branch to more BlockGSSteps, extension of BlockGSStep test cases, or support of this non-consistency-breaking branch merge request.