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.
Don't use new assumptions in the manualintegrate.py
Don't use new assumptions in the solvers module
Merge pull request #7898 from skirpichev/remove-use-newassump

Don't mix old and new assumptions in the sympy codebase
_test -> _doctest in runtests
do not use fastcache for slow tests
Fix log._eval_is_rational: check for zero

This fixes travis failure in the master:

$ ./bin/test sympy/integrals/tests/test_manual.py --rerun 10
===================================================== test process starts ======================================================executable:         /usr/bin/python  (2.7.3-final-0) [CPython]
architecture:       32-bit
cache:              yes
ground types:       gmpy 1.15
random seed:        41680150
hash randomization: on (PYTHONHASHSEED=3487214350)

sympy/integrals/tests/test_manual.py[17] ..............F..                                                                [FAIL]
_____________________________________________________________________________________________________________________________________________________________________ sympy/integrals/tests/test_manual.py:test_issue_6746 _____________________________________  File "/home/sk/src/sympy/sympy/sympy/integrals/tests/test_manual.py", line 226, in test_issue_6746
    assert manualintegrate((y + 1)**x, x) == x
AssertionError

==================================== tests finished: 16 passed, 1 failed, in 189.46 seconds ====================================DO *NOT* COMMIT!
Merge pull request #8079 from skirpichev/fix-log-is_rational

Fix log._eval_is_rational: check for zero
Move AlgebraicNumber class to the core

fixes #8066
Merge pull request #8078 from pbrady/no_fastcache_slow

do not use fastcache for slow tests
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