Simplify math modules - found bug in ceil

While removing ternaries — which are really not readable — I found a bug in `ceil`:
The test spec expects it to behave this way: `ceil(-5.3, -2) == -2` 
But actually the assertion `ceil(val, step) == -floor(-val, step)` should hold, that is
how Math.ceil/floor behave as well. It should be `ceil(-5.3, -2) == -4`.

This fixes the bug and makes `floor`, `ceil`, `countSteps` and `round` as simple to read as the rest of the math modules.