Boundary condition improvements

o Added a condition "zerolaplace2" which enforces zero Laplacian (for jpar = 0)
  on the final grid cell, using the same Laplacian coefficients as Delp2 and invert_laplace.
  This differs from "zerolaplace", which uses an analytic solution for current-free regio,
  which sets jpar = 0 inside the boundary but not necessarily on the final point in
  the domain.
  The problem with zerolaplace2 is that there are two possible vacuum solutions:
  one decaying and one growing. Zerolaplace picks the decaying one, but
  zerolaplace2 may pick either.

o Added a boundary modifier which applies the boundary condition in shifted coordinates.

  Setting "neumann" boundary conditions sets zero gradient in x.
  "shifted(neumann)" boundaries shifts into orthogonal (psi-theta-z) coordinates,
  sets zero gradient and then shifts back. This can be combined with relaxing boundaries
  e.g. "relax(shifted(neumann), 10)". Shifted and relax should commute so "shifted(relax(neumann, 10))" is equivalent.