Misc unit test fixes

Some unit test fixes, mainly relating to `par_loop`:
* check equality of `Set`s in `Sparsity` constructor
* check consistency of `Map` tosets for `par_loop` `Mat` arguments
* assert and test that `Map`s used in `par_loop` arguments are initialized
* add unit tests for mismatching itersets and tosets when calling `par_loop`
* add missing docstrings for (in)direct loop unit tests
* assert Mat args can only have modes WRITE, INC
* move Map <-> Dat/Mat consistency checks to Arg constructor