Linearizer class now works with LagrangesMethod

Generalized the Linearizer class to work in the presence of
lagrange multipliers. This required the following changes:

- Modification to LagrangesMethod initialization to input
the holonomic and nonholonomic constraints separately. This is
different than the previous way of inputting all constraints in
`coneqs`, with the holonomic constraints time differentiated.

- Reformulation of the general Linearizer form. This changed the
`Linearizer` class methods internally, but not the interface.

- Pulled _find_dynamicsymbols method from KanesMethod to the
functions.py file, as it is used by both LagrangesMethod and
KanesMethod now.
Merge branch 'LinearizeClass' into LinearizeLagrange

Conflicts:
	sympy/physics/mechanics/linearize.py
Import not imported exception HeuristicGCDFailed
HeuristicGCDFailed was being raised without importing it in polys/heuristicgcd.py.
Added `solve_multipliers` to LagrangesMethod

Added a function to solve for the value of the multipliers at a
given operating point. Returns either a dict of {symbol: value}
(default), or a column matrix of the solutions. Also added a test
case that has constraints to test this method.
Merge branch 'LinearizeClass' into LagrangeImprove

Conflicts:
	sympy/physics/mechanics/functions.py
	sympy/physics/mechanics/kane.py
	sympy/physics/mechanics/linearize.py
	sympy/physics/mechanics/tests/test_linearize.py
Added `linearize` method for LagrangesMethod

Created `linearize` class method for LagrangesMethod class.
Change absolute import to relative import
Merge branch 'master' into LagrangeMerge
Added deprecation warning to LagrangesMethod

Added a deprecation warning to LagrangesMethod for the new interface of
hol_coneqs and nonhol_coneqs. Updated tests to reflect change.

Also added rolling disc test for lagrange.
spelling error in codegen.rst
spelling fix in codegen.py
Fixes #7757
Merge remote-tracking branch 'upstream/master' into LinearizeLagrange
Small change in the doctests
Merge pull request #7628 from debugger22/undefined-HeuristicGCDFailed

Import unimported exception HeuristicGCDFailed
typo fix in codegen test
Merge pull request #7760 from akshayah3/Line

Small change to the intersection method of a Line3D
modify 4 minute test so it takes about 2 seconds

Before original commit:
>>> series(cot(x**4 + x**5), x, 0, 1)
O(x)

After original commit
>>> series(cot(x**4 + x**5), x, 0, 1)
x**(-4) - 1/x**3 + x**(-2) - 1/x + O(x)

This simpler test failed in master before the original
changes but succeeds afterwards demonstrating that the
change worked. It also takes orders of magnitude less time
to compute.

Since the time that the correction was made, another correction
was made that includes the "+1" term; that is now included in the
modified test, too.
longer underline
Merge pull request #7681 from jcrist/LinearizeLagrange

[WIP] Linearize lagrange