absorb I into power of -1 if possible in Mul.flatten

running the core suite of tests 3 times gave, in seconds,

master: 48, 43, 57
now: 45, 44, 43

So this appears to be a neutral change in terms of speed, but
a more compact result is now obtained
don't need to watch for -1**negative

All powers are evaluated by the preceding flatten loop.