Harmonize __repr__ and __str__ and add unit tests for them

* Fixes argument order errors in the `Dat` and `Global` `repr`
*  Harmonizes `__repr__` and `__str__` for all classes in `base`
* Adds unit tests for pyop2 API repr and str, where possible using the repr to recreate an object