less flattening in Mul and Add; perfect powers are not removed from log

With this PR unevaluated Mul will not be flattened by Add so `1 + Mul(2, x + 1)` will remain as `1 + 2*(x + 1)`. In addition, `2*(1 + A)` will no longer become `2 + 2*A` if `A` is non-commutative.

Also, perfect powers are no longer removed by log; they are removed only with `expand_log` so `log(16)` remains as `log(16)`; only when a base is indicated are any factors removed as in `log(16, 2) -> 4` and `log(12, 2) -> log(3)/log(2) + 2`.