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.