Fix rose date diff returning a float.

rose date, invoked as follows:

```
rose date 0000 0000 -s -PT2M -f y,m,d,h,M,s
```

was incorrectly returning:

```
0,0,0,0,2.0,0
```

This fixes it so it returns:

```
0,0,0,0,2,0
```

I've also added a test to capture the behaviour.
It could be legitimately `float` - e.g. `1.5` seconds. Need to check just the `.0` cases.