Removal of strict constraint in izip().

This PR removes the constraint that the cubes passed to iris.iterate.izip should not have different coordinates along common dimensions. For example, consider two 3d height x lat x lon cube and iterating over them in step to produce lat lon slices:
```python
for slice_a, slice_b in iris.iterate.izip(cube_a, cube_b, coords=['latitude', 'longitude']):
    print slice_a, slice_b
```
If cube_a had another dimension or additional coords on one of the its three initial dimensions, all would be well. However, if cube_b *also* had additional coords ```izip``` would raise an exception claiming: "More than one cube contains a unique dimensioned coordinate". It was essentially checking that one cube was a sub-cube of the other. Use cases have arisen where people want to ignore these additional auxiliary coords and to step through any extra dimensions. The code was already capable of doing this so this PR simply removes the check and adds some tests for the desired behaviour.