Minor changes to get the tests to pass
refactor handling of special args
refactor _real_to_rational
unify, rewriterule, and deconstruct take wilds
remove patternify
remove the use of SymPy.Wild in unification
add non-Expr test
rename wilds to variables
Merge pull request #1721 from smichr/issue-3561

Issue 3561
fix failing doctest
correct See Also reference to stirling
add inline note about ignoring kind
replace now-passing evalf test
Merge pull request #3 from smichr/issue-3428

refactor _real_to_rational
Merge pull request #1698 from smichr/comb

Combinatorical enumeration
Merge pull request #1713 from prasoon2211/issue-3428

Issue 3428 : tolerance is now passed to and used in _real_to_rational via nsimplify
factor out rewriting for matchers_division

These mods give about a 10% decrease in run time:

now

>>> timeit('d=Dummy();trigsimp(cos(d)**4/sin(d)**4)','from sympy import sin,cos,Dummy,trigsimp',number=100)
3.9

previously

>>> timeit('d=Dummy();trigsimp(cos(d)**4/sin(d)**4)','from sympy import sin,cos,Dummy,trigsimp',number=100)
4.3
allow for multiple hits in _replace_mul_fpowxgpow
fix merge conflicts
only use SymPy matching if necessary