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.