Concatenate reporting

I've been sitting on this for a while but a little period of quiet finally gave me time to dust this branch off and get it up as a PR :smile: 

Basically this adds reporting for `iris.CubeList.concatenate()` in the same sort of manner as reporting was agreed on for `iris.CubeList.merge()` (give or take the existing differences between merge and concat).
@dkillick :bomb: ...
```python
>>> cl = iris.cube.CubeList()
>>> cl.concatenate()
[]
>>> cl.concatenate_cube()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/net/home/h05/itwl/projects/git/iris/lib/iris/cube.py", line 458, in concatenate_cube
    msgs.append('Cube names differ: {} != {}'.format(names[0],
IndexError: list index out of range
>>> 
```