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 either the coordinates or the output field are DGish, project to P1dg
before output.  Otherwise, project to P1 before output.  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