Mod handles more simplification

While still trying to keep evaluation fast, Mod will now
handle more simplifiable cases:

- gcd is extracted
- extract_multiplicatively is used to handle (2*x + 2) % (x  + 1)
  cases