Give coordinate field a meaningful name
Pass dim when building a vector function space on an OPC
Cache Function.split so that names don't change
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