Added deprecation warning for old linearize method

Deprecation cycle plan:
- User must use kwarg `new_method=True` to use the new
functionality.
- If the kwarg is absent or false, the old method is used and a
SymPyDeprecationWarning is thrown.
- After the next release, the old method will be removed, and the
need for this kwarg also removed.
Code cleanup, major docstring edits

Fixed lots of little things. Major edits to the docstrings to fit
the numpydoc format. Some code refactoring as well. Removed the
_general_form method in KanesMethod, as it was small, and fit
better with to_linearizer. Added linearize.py to __init__.py.
Merge pull request #7269 from skirpichev/generate-man

Generate doc/man/isympy.1 from the isympy.xml source
whitespace and similar changes
7594: factor(sqrt(x**2)) != x

logic in factor allowed sqrt(x**2) to become x. This has now been removed.
This breaks some trig manual_integrate results that are fixed in the next
commit.

In keeping with similar simplifications that are made to
spherical harmonic functions (sqrt(sin(theta)**2) -> sin(theta) because
of the assumed range of theta which makes sin(theta) positive), the
pattern sqrt(1-cos(theta)**2) is replaced with the simpler sin(theta),
too.
Impose domain restrictions in trig sub integrals
remove positive kernel check from powdenest

It is not always true that (p**x)**y = p**(x*y) if p is positive.
It depends on the value of x. e.g.
>>> e = 3 + I
>>> r = Rational(1, 3)
>>> b = .02
>>> ((b**e).n()**r).n(2)
0.014 + 0.014*I
>>> (b**(e*r)).n(2)
0.0053 - 0.019*I
capitalize riemann in docstrings
Merge pull request #7640 from smichr/reimann

capitalize reimann in docstrings
Merge pull request #7637 from smichr/7594

fixes #7594
Changed linearize interface for op_points

Now have one kwarg instead of several. `op_point` can be either
a single dict, or an iterable of dicts. Results in simpler
interface, and we were combining them all internally later
anyway.
Changed Linearizer to use LUsolve instead of inv

Now calculates A = P.T*M.LUsolve(Amat), insead of
A = P.T*M.inv()*Amat. This results in a significant decrease in
calculation time. `inv` was replaced with this `LUsolve` method in
all locations in Linearizer.
Fixed value for `coth(0)`

coth(0) = zoo (Complex Infinity)
For reference: http://www.wolframalpha.com/input/?i=coth%280%29
Added kwarg `simplify` to Linearizer class

Allows for optional simplification of return values before
return from linearize call. Defaults to True.

Several different methods of simplification were tested, and all
were slower than just calling simplify on the matrices. `trigsimp`
resulted in the same thing as `simplify`, but took 5 times longer.
Currently, calling simplify seems to be the best method.
Added coordinate systems code
Create auto update mechanism for development docs [skip ci]
LRU style caching.

Makes use of functools.lru_cache when possible otherwise backport
of lru_cache from
http://code.activestate.com/recipes/578078-py26-and-py30-backport-of-python-33s-lru-cache/.
Merge remote-tracking branch 'refs/remotes/upstream/master'
Cleanup
Cleanup