add evaluate context manager
Extend use of global_evaluate
Add cacheit decorator back onto AssocOp.__new__
cacheit inspects global variables
Extend global_evaluate

Find cases like def foo(..., evaluate=True)
FiniteSet plays well with evalaute=False
fix typo for global_evaluate
small docstring for evaluate context manager
Move powsimp assertion to tests
Merge branch 'master' into with-evaluate

Conflicts:
	sympy/geometry/point.py
docstring for evaluate context manager
Merge branch 'master' into with-evaluate
Merge branch 'with-evaluate' of github.com:mrocklin/sympy into with-evaluate

Conflicts:
	sympy/core/evaluate.py
evaluate=None means trust global, not False

This was assumed in a test.  I'm unassuming it.  Hopefully no one cares
WingerD evaluates False by default
add nexted evalute=False test
add evaluate(True) test
Merge pull request #2917 from mrocklin/with-evaluate

evaluate context manager