Performance improvements to poisson solver.

The mesh_to_grid and grid_to_mesh routines now coalesce messages
to a single message per processor pair.

The poisson kernel saves (1/k^2) for reuse, avoiding branches
and divides.