Change Kane and Lagrange attributes

- KanesMethod has q and u as full attributes
- LagrangesMethod has q as a full attribute
- KanesMethod now stores forcelist and bodylist as attributes
Add @property to some attributes

- KanesMethod.q, .u, .forcelist, and .bodylist are all read-only now
- LagrangesMethod.q, .u, and .forcelist are all read-only now
remove version constraint from pip install fastcache
Removed redundant and confusing *doit* methods from Relational classes

see issue #8057
Merge pull request #8056 from pbrady/fastcache_update

pip install fastcache without version
factor out Dummy/Symbol sanitization; remove None, too

None was being converted to False by the bool(); it should
just be removed since this represents an unknown attribute.
Merge pull request #8060 from smichr/symbol

Symbol/Dummy should sanitize in the same place
make _sanitize a staticmethod of Symbol; use for Wild, too
Merge pull request #8064 from smichr/symbol

make _sanitize a staticmethod of Symbol; use for Wild, too
Merge pull request #8058 from skirpichev/rel-no-doit

Removed redundant and confusing *doit* methods from Relational classes
Add branches of LambertW

fixes #7105
fixes #5215
Add --rerun option (and counter) to bin/doctest.  Assures a consistent API for test and doctest
Merge pull request #8070 from pbrady/doctest_rerun

Add --rerun option (and counter) to bin/doctest.
Add is_algebraic assumption

See http://en.wikipedia.org/wiki/Algebraic_number
Adopt test: (sqrt(3) + S.Pi).is_rational is False
Add is_number property for AlgebraicNumber
remove using of new assumptions in the polys module
Deduce algebraic fact with Gelfond-Schneider theorem

See http://en.wikipedia.org/wiki/Gelfond%E2%80%93Schneider_theorem
Deduce algebraic facts with Lindemann-Weierstrass theorem

See http://en.wikipedia.org/wiki/Lindemann%E2%80%93Weierstrass_theorem
Fix Mul._eval_is_irrational: zero case