Workaround for matrix-free BEuler in Python
- petsc4py uses the "Python" matrix class for a matrix-free implementation. Unlike MatShell, support for MatScale and MatShift is missing in petsc4py. As a workaround, this commit removes MatScale in BEuler and scales the vector to be multiplied instead.
- JacobianP evaluation in RK is needed only when b is nonzero.