Modified Mod so multiples of integers mod 1 are also 0

hyperexpand used Mod(foo, 1) to (apparently) reduce the constant part of an expression to the smallest value. But with Mod(int, 1) now being 0 this lead to cases where 3 and k + 2 (where k was an integer) both being grouped as being the same mod 1 rather than being grouped as 0 and Mod(k, 1). This lead to problems in sorting the mixed grouped numbers, e.g. sorted([0, k]) raises an error. I am not confident enough about modifying the sorting and handling of the numbers (e.g. by sorting with Basic.compare); instead, I modified the `_mod1` calls to give, effectively, the same thing that was being done before.