AllReducer does not work in iterations with dop>1 (added test case)

Compiler throws the following error when I use the AllReducer inside iterations with dop>1:
```eu.stratosphere.pact.compiler.CompilerException: Error: All functions that are part of an iteration must have the same degree-of-parallelism as that iteration.```
The dop is automatically set to 1 for the AllReducer (which absolutely makes sense). I extended Roberts test case to catch this bug.

Maybe anyone can explain why we have this restriction? Due to this restrictions I also had to remove some other optimizations where I defined the dop to be 1 for some contracts manually.

BTW: It would be nice to give a hint in the error message which node has a dop different from iteration (e.g. the name and type).