product should return 1 if term=1, fixes #8301
doit() keeps unevaluated Product, if _eval_product returned nan
Improve _needs_mul_brackets: place brackets around Mul, if it starts from "-"

It's ok to omit brackets if this Mul is a first argument (of another Mul
instance).  fixes #8470
Merge pull request #8304 from skirpichev/8301-fix

product should return 1 if term=1
Merge pull request #8475 from skirpichev/8470-fix

Improve _needs_mul_brackets: place brackets around Mul, if it starts from "-"
Unbundle mpmath: kill mpmath source tree
Unbundle mpmath: drop mpmath documentation
Unbundle mpmath: fix imports
Unbundle mpmath: drop adapt_path.py script
Unbundle mpmath: drop workarrounds in bin/coverage_*
Unbundle mpmath: drop mpmath from blacklist of runtests.py
Unbundle mpmath: drop mpmath exclude from code quality tests
Unbundle mpmath: don't filter out mpmath directory in setup.py
Unbundle mpmath: don't filter out mpmath directory in strip_whitespace
Unbundle mpmath: document mpmath installation
Unbundle mpmath: drop checks against mpmath in diagnose_imports.py
Unbundle mpmath: optionally, use setuptools to handle versioned deps on mpmath