PrescribedGradientBCWeak: Assemble diagonal entries even though they are
zero, to make iterative PETSc solvers happy. Also some clean-up.