Add test for Global with no data in initialiser
Fix use of Globals initialised without data buffer

op2.Global objects declared without providing a data space were never
acquiring that space for themselves. Port the magic allocation code from
Dat to accomplish this.
Use mixin for Dat and Global instantiation

The magic incantation for lazy allocation of data buffers for Dats and
Globals is the same, so refactor into a mixin.
Add test that Globals are implicitly initialised to zero

If the user doesn't pass a data buffer into Global initialisation, it
should be initialised to zero when accessed.
Merge pull request #266 from OP2/global-data-fix

Fix use of Globals initialised without data buffer