make Globals more like Dats

Implement trivial indexing and duplication on Global so it can be used
in places where a Dat is used. This is needed to make the Real
function space work in Firedrake.
Do you want potentially out of date data here?  IOW, this doesn't force an evaluation, is that correct?