Fix Pow._eval_is_integer handler for negative exponents

Closes #8580
Cleanup for Pow._eval_is_integer
Merge pull request #8584 from skirpichev/8580-fix

Fix Pow._eval_is_integer handler for negative exponents
Modified the Euler-MacLaurin algorithm.

Prior to the commit, the algorithm would break in cases where the expression
was equivalent to 0. Now, the algorithm will continue to work until the
intended error. Fixes several issues, including issue #8054. Also gets
close to solving issue #8321.

This was done in collaboration with @Mitchell-McCann.
test to check exponential piecewise sum
Add cody-herbst to AUTHORS/aboutus/mailmap. Welcome to SymPy!
Add Mod._eval_is_nonnegative/nonpositive helpers

closes #8581