Add branches of LambertW

fixes #7105
fixes #5215
Rename assumptions: bounded -> finite, unbounded -> infinite [1/5]

fixes #7943
Rename assumptions: bounded -> finite, unbounded -> infinite [2/5]

sed -i 's/is_bounded/is_finite/g'
Rename assumptions: bounded -> finite, unbounded -> infinite [3/5]

sed -i 's/is_unbounded/is_infinite/g'
Rename assumptions: bounded -> finite, unbounded -> infinite [4/5]

sed -i 's/bounded\(=[TFN]\)/finite\1/'
Rename assumptions: bounded -> finite, unbounded -> infinite [5/5]

Change some variable names
Add deprecation warnings for bounded/unbounded assumptions

In [1]: x.is_bounded
./bin/isympy:1: SymPyDeprecationWarning:

is_bounded has been deprecated since SymPy 0.7.6. Use is_finite
instead. See https://github.com/sympy/sympy/issues/7943 for more info.

  #!/usr/bin/env python

In [2]: b = Symbol('b', bounded=True)
/home/sk/src/sympy/sympy/sympy/core/symbol.py:80: SymPyDeprecationWarning:

bounded assumption has been deprecated since SymPy 0.7.6. Use finite
instead. See https://github.com/sympy/sympy/issues/7943 for more info.

  if new_key:

In [3]: b.assumptions0
Out[3]: {'commutative': True, 'finite': True, 'infinite': False}

In [4]:
Add references for is_finite assumption
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.
Merge pull request #7947 from skirpichev/7943-rename-is_bounded

Rename assumptions: bounded -> finite, unbounded -> infinite
Deprecate is_infinitesimal assumption, see #8071
Merge pull request #8072 from skirpichev/deprecate-is_infinitesimal

Deprecate is_infinitesimal assumption
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