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
Run the dispatching in simplify() first
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.
Always sympify in simplify()
Added more Tests
spelling error in codegen.rst
spelling fix in codegen.py
Add fastcache as an optional depency.  Use fastcache for travis tests
Changed method finding func

The earlier method of finding func was incomplete. This new method is more robust and less likely to fail. This method is still in progress.
Split geometry.rst into module specific files and also add rsts for new geometry modules
func modification to solve nonlinear sysode of 2 eq order1 type5

Earlier there was error comming in solving the type 5 of nonlinear sysode of 2 equations due to problem in function returned which was `[y(t), y(t)]`. This commit contain modification such as to remove that error. This also places the @XFAILed test back to normal.
Added dyadic code, WIP
Dummy commit