Add iteration space consistency check to ParLoop.check_args
Add a unit test for the mismatching iteration space check
Use the iteration space size determined by check_args for ParLoop.

Instead of taking the IterationSpace passed in by the user, use the
local iteration space size determined by check_args to instantiate
the IterationSpace used by this par_loop.
Minor cleanup of iteration space dats unit test
Remove explicit uses of IterationSpace from demos
Remove explicit uses of IterationSpace from tests
Remove the __call__ syntax on a Set to construct an Iterationspace.
Require an iteration set as 2nd ParLoop constructor argument
Assert that 1st/2nd ParLoop argument is Kernel/Set
Add ParLoop API unit tests
Update par_loop documentation
Purge IterationSpace from public API
Merge pull request #212 from OP2/remove-itspace

Removes the need to explicitly pass an iteration space to a par_loop
by using the __call__ syntax on the iteration set. Instead, the size
of the local iteration space is inferred from the arity of the maps,
if any of the arguments of the par_loop use an IterationIndex.

All tests and demos are updated and IterationSpace is removed from
the public API.