Concatenate with scalar coordinate.

This PR fixes a long standing bug within cube concatenate, that prevents a cube with a single valued dimension coordinate concatenating along that axis to another compatible cube. 

For example, consider the time-series cube (t:10, y:10, x:10). We should be able to concatenate the cube (t:1, y:10, x:10) given compatible metadata and coordinates to the time-series over the first dimension `time`. Previously this was not possible. This PR resolves the issue that prevented such cubes concatenating.
I found the naming very confusing here : You have a 'series_inc'_cube, a 'series_dec_cube', an 'inc_cube' and a 'dec_cube'.  But the only differences are the time values, which are 0..4, 4..0, 5..9 and 9..5.
Then there is a 'scalar_cube', which has a time of 5.  As this has no time dimension and won't compare, you then create a dimension-length-1 version on the fly with 'new_axis'.
I think it would be much simpler to get all of these by creating a single cube and chopping bits out.
Something like...
```
big_cube = Cube(np.arange(10))
 . . .
series_cube = big_cube[:5]
series_cube_dec = series_a_cube[::-1]
extended_series_cube = big_cube[5:]
extended_series_dec_cube = extended_series_cube[::-1]
scalar_cube = big_cube[5]
length_1_cube = big_cube[5:6]
```
Or you could just replace all the confusing names with explicit indexing in the tests.