Move custom rf class outside the combsimp definition

This fixes, or rather, works around, a bizarre caching issue involving classes
defined inside functions.  See the discussion on pull request #1710.
Fixes #2676 : Convert Matrix to NumPy Array with NumPy dtype

Exposes dtype to the user. Default dtype is 'object'.
Rename d_type to dtype
Added tests for matrix2numpy
Add steradian unit: solid angle
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
Modified LagrangesMethod.rhs() to use _mat_inv_mul

This was a TODO, and is more consistent with the KanesMethod
object.