Add additional test for KanesMethod.

Add an additional test for KanesMethod that checks if the calculated
generalized inertia forces are equivalent whether the inertia for rigid
bodies is set about the mass center or an arbitraty point.
in ``_test_pl`` changed the case ``q == 0`` to allow factorization with
``fc = 0``
Code quality improved
Tests updated for Products
Dealt with most of the diff comments
Merge pull request #2205 from skirpichev/3902-piecewise_fold

simplify(): Call piecewise_fold for expr with Piecewise (issue 3902)
remove is_finite from Add.flatten
remove is_finite from limits
remove is_finite from core/numbers.py
Check proposition argument of ask() for junk input (issue 3906)
issue 2451
Merge pull request #2211 from mrocklin/remove_is_finite

Remove is_finite
issue 2451
Did away with the .is_Add if-else block

It returns only trivial solutions for Mul and Pow cases
Merge pull request #2207 from pradyu1993/iss2451

Iss2451
Add Pradyumna to the AUTHORS/aboutus. Welcome to SymPy!
Merge pull request #2213 from skirpichev/3906-ask-check

Check proposition argument of ask() for junk input (issue 3906)
Issue 3879: fixed docstring error when pyglet is install.
Merge pull request #2194 from oliverlee/rbfix

Fix methods using inertia in RigidBody
Lambdify uses Dummy

Within lambdify, lambdastr specifically, all over the provided args are
replaced with Dummy symbols within the expr to be evaluated. This allows for
substitution of things with unfriendly names, such as AppliedUndef's (e.g.,
x(t)).

Before this failed:
  >>> t = symbols('t')
  >>> x = Function('x')
  >>> y = x(t)
  >>> lambdify(y, 2*y)

Now the above works.