Add branches of LambertW

fixes #7105
fixes #5215
Consolidate all warnings.simplefilter calls to sympy.utilities.exceptions

This is the file where SymPyDeprecationWarning is defined, so the filter will
always be set when that warning is used.

This also changes the warning to once, rather than always, which matches the
default Python warning behavior.

This does cause the SymPyDeprecationWarning to show, which by default it
wouldn't, because Python hides DeprecationWarnings by default.  This is
intentional, as we want our users to know about deprecated behavior.
Move AlgebraicNumber class to the core

fixes #8066
Add a callback function so that -k can take a variable number of
arguments.  Fixes #5228
Merge pull request #8073 from asmeurer/deprecation-warnings

Consolidate all warnings.simplefilter calls to sympy.utilities.exceptions
do not exec file if none of the kw is/are present

Also, in case None is the value for kw, make it a tuple
Merge pull request #8068 from skirpichev/7105-LambertW-branches

Add branches of LambertW
Merge pull request #1 from smichr/optparse

do not even exec file if the kw is not present
fixing error message in integrals
Merge pull request #8087 from pbrady/optparse

Allow -k to take a variable number of arguments
Merge pull request #8076 from skirpichev/8066-move-AlgebraicNumber

Move AlgebraicNumber class to the core
7322: nsimplify returns Rational instead of truncated 0 when rational=True
Merge pull request #8096 from smichr/solve

7322: nsimplify returns Rational instead of truncated 0
Backport mpmath's fix for py.test from https://github.com/fredrik-johansson/mpmath/pull/17
Rename test_numerically to verify_numerically.  The name
'test_numerically' was confusing to py.test and caused strange 'fixture' errors.
Make --slow option with py.test _only_ tests slow tests
Merge pull request #7931 from kaushik94/errorMessage

fixes #7704
Merge pull request #8099 from skirpichev/py.test-mpmath

Backport mpmath's fix for py.test
Merge pull request #8100 from pbrady/test_numerically

Rename test_numerically to verify_numerically for py.test compatibility
Merge pull request #8101 from pbrady/pytest_only_slow

Make --slow option for py.test consistent with bin/test usage