Merge pull request #7752 from smichr/nc-replace

replace respects commutativity
Merge pull request #7750 from smichr/log-neg-arg

log expands negative numbers (just like Numbers)
Merge pull request #7756 from debugger22/plane-typo

Put a space. Change 'anormal' to 'a normal'.
Fixes #7757
Merge remote-tracking branch 'upstream/master' into LinearizeLagrange
Small change in the doctests
Added docs for new linearization methods

Added doc page for linearization methods in physics/mechanics.
Merge pull request #7628 from debugger22/undefined-HeuristicGCDFailed

Import unimported exception HeuristicGCDFailed
More code quality improvements
Merge branch 'master' of https://github.com/sympy/sympy into dyadicvector
Derivative now works with vector core
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
Add function to calculate transmitted vector after refraction [skip ci]
Change the name of function to refraction_angle and fix a typo [skip ci]
Make refraction_angle compatible with Ray3D and plane. [skip ci]
Add test_util