Support output of any function space

If both the coordinates and the output field are in H1, project to P1.
Otherwise project to P1dg.  In both cases, splat a warning to the screen
telling the user which fields are being projected.
Keep name of function when projecting in output
Output projection warning in RED
Only warn of projection once per file