Improve Add/Pow imaginary assumption handlers

fixes #4149
fixes #2920
fixes #7886

@smichr
actually, making a quick exit if that expression is not True is better. I included that with my `real` branch (#7911).