configuration: refactoring

no longer use a configuation module
remove configuration loading from file
add configuration unit tests
always run unit test both in lazy and greedy mode
use make_object instead of par_loop
fix invalid device state for dat copy constructor in opencl and cuda
mark test as expected fail
Add shape property to Dats and Globals
Use shape property rather than data.shape

This is necessary to avoid us inadvertently allocating data on the host
for temporary device Dats.
Fix norm on device backends

Previously we always computed on the device, but this is the wrong thing
to do if the data are currently on the host.
Don't call _to_device when accessing Dat.array

The device data should be allocated already, so just return the device
pointer.
Use Dat.dtype property in __str__ and __repr__
Use maybe_set_dat_dirty to set write state
Only set write state if Dat is already allocated
Remove expected failure for Dat copy