Add branches of LambertW

fixes #7105
fixes #5215
Move AlgebraicNumber class to the core

fixes #8066
Add a callback function so that -k can take a variable number of
arguments.  Fixes #5228
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