Refactor Dat linear algebra operators using the operator module

* This allows using a single helper method for all operations.
* Removes the need to overload the operators in the device module.
* Adds the feature of adding/subtracting scalar from Dats
Add add/sub/mul/div operators between Dats and tests for those
Use correct operator in test_idiv_shape_mismatch
Merge pull request #157 from OP2/more-linear-algebra-operators

More linear algebra operators

* Refactor Dat linear algebra operators using the operator module.
* Add the feature of adding/subtracting scalar from Dats.
* Add add/sub/mul/div operators between Dats and tests for those.