Prevent autoevaluation of Mul in the _print_Add helper for pretty printing

fixes #8292
show failing expression for nonzero TypeError
minor tidy/modify
add filldedent to namespace
use root(foo, n) instead of foo**Rational(1,n)
8296: fix nroots ordering
Don't put the string of the expression in the round() exception

This fixes the specific issue from #8309, but there are likely more cases that
should be fixed as well. This leads to great speed improvements for large
expressions in any function that tries to call int() on it to see if it is an
integer.

In the future, we may want to keep the expression on the exception object as
well, like on a .expr attribute of the exception object, but I have not done
this for now, as we should decide on a uniform way to approach this problem.
Merge pull request #8311 from smichr/wip

fix nroots sorting and misc changes
Merge pull request #8305 from skirpichev/8292-fix

Prevent autoevaluation of Mul in the _print_Add helper for pretty printing
Fix code quality issue (don't raise Exception)
Add a space after minus sign if following stringpict also starts with '-'

Fixes #4335
Add test for issue #4335
Merge pull request #8325 from lennart0901/printing_adds

Add a space after minus sign if following stringpict also starts with '-'
Add rewrite rules for jump functions

- rewrite Abs and sign as Heaviside
- rewrite Heaviside as sign
- rewrite of Max and Min in terms of several Heavisides
Merge pull request #8314 from asmeurer/nostr

Don't put the string of the expression in the round() exception
Add examples of using plot_implicit() with single variable expressions
Merge pull request #8315 from amitsaha/plot_implicit_example

Add examples of using plot_implicit() with single variable expressions
Merge pull request #8327 from zanzibar7/rewrite_to_Heaviside

Add rewrite rules for jump functions