Use copy instead of deepcopy

Deepcopy should not be used (see #7672).
I not in Reals should be True (fix #7680)
Merge pull request #7674 from certik/deepcopy

Use copy instead of deepcopy
Fix inconsistent behavior when matching functions by using '==' rather than 'is' comparison.
added test for issue 6157
Revert back to isinstance in matches and override __instancecheck__ for
UndefinedFunction.  Has the advantage of not breaking any code relying
on isinstance retaining the same behavior with a bounded/unbounded cache.
Merge pull request #7690 from hargup/issue6157_test

Test for issue 6157
Merge pull request #7683 from skirpichev/7680-I-not-in-Reals

I not in Reals should be True
added reference for ImageSet.intersect

    The implementation was derived by the Richard Fateman's paper
    http://www.cs.berkeley.edu/~fateman/papers/sets.pdf
ensure isintance correctly handles subclasses
Replaced f_ with g_ in polytools/reduced and solves issue #7696
Merge pull request #7693 from hargup/add_intersection_reference

added reference for ImageSet.intersect
Added tests for fix.  One currently fails in master.  The other fails if
proper care is not taken in overriding __instancecheck__
Merge pull request #7697 from sarwarc/issue7696

Replaced f_ with g_ in polytools/reduced and solves issue #7696
Add Sawar Chahal to AUTHORS/aboutus. Welcome to SymPy
Revert "added reference for ImageSet.intersect"
Merge pull request #7699 from sympy/revert-7693-add_intersection_reference

Revert "added reference for ImageSet.intersect"
Merge pull request #7688 from pbrady/matches_fix

Fix inconsistent caching/matching behavior
Merge branch 'sympy/master'
__cacheit in __cacheit_debug needs to take `maxsize` as it's argument
rather than `func`