PSize: introduce .data() member to access inner array

This avoids undefined behaviour for &size[0] in the case of size.rank() == 0
PSize: Complete +/- operator family
DataSpace::size() new function to return the size