Made raises() accept a callable, or work as a context manager.
Changed all raises() calls that use an expresssion in a string to use a lambda.
Changed all raises() calls that use a statement in a string to use a with
statement.
Merge branch 'master' into issue-2867-lambdify-raises
Merge branch 'master' into issue-2867-lambdify-raises
Update sympy/physics/mechanics/tests/test_kane.py
Update latex printing of Rotation

Update Rotation operator to use \mathcal to render with LaTeX
Implement new printing scheme for QExpr

The new printing system is as follows:

- The base QExpr printing methods call _print_contents. The
  _print_contents methods is where classes define a unique list of
  arguments to print as the contents. Note, this should not include
  outer parentheses or brackets.

- By default, _print_contents returns _print_label.

- _print_label should not be modified in the base classes, it is
  reserved for printing the label of the class, which in almost all
  cases is the args list.

- Adding other things to the printing of the object, such as an operator
  name to operators or brackets to states, the class should override the
  _print/_pretty/_latex functions directly and make calls to
  _print_contents. This allows things like InnerProduct to easily
  control its printing.
Fix printing of unicode characters when use_unicode=False

Fix cases where unicode strings were returned when pretty printing when
in a non-unicode environment.
Change state and innerproduct printing to allow for tall states

Add methods to allow for the creation of tall bras and kets using box
drawing unicode characters and slash/backslash.
Better latex printing of operators

Modify operator printing to put \left and \right on surrounding
parentheses.
Add cg tests, fix up cg printing

Add Wigner6j and Wigner9j tests

Refactor printing methods in cg.py.
Improve printing states and brackets

Refactor how pretty printing of brackets for states is handled, moving
all logic for handling ascii vs unicode rendering and determining how to
render the brackets based on the height to a single method in StateBase.
This greatly simplifies the code in the state and innerproduct pretty
printing methods.
Merge branch 'master' into issue-2867-lambdify-raises

Conflicts:
	sympy/core/tests/test_evalf.py
	sympy/core/tests/test_numbers.py
	sympy/geometry/tests/test_geometry.py
	sympy/ntheory/tests/test_ntheory.py
	sympy/series/tests/test_limits.py
	sympy/stats/tests/test_continuous_rv.py
	sympy/stats/tests/test_rv.py
Added example to explain the situations if multiple statements would
raise an exception inside a raises()-managed with statement.
Merge branch 'master' into issue-2867-lambdify-raises

Conflicts:
	sympy/core/tests/test_symbol.py
	sympy/integrals/tests/test_integrals.py
Merge branch 'master' into issue-2867-lambdify-raises
Merge branch 'master' into issue-2867-lambdify-raises
Merge branch 'master' into issue-2867-lambdify-raises

Conflicts:
	sympy/matrices/tests/test_matrices.py
Merge branch 'master' into issue-2867-lambdify-raises
Merge branch 'master' into issue-2867-lambdify-raises

Conflicts:
	sympy/core/tests/test_sympify.py
	sympy/utilities/tests/test_lambdify.py
Merge branch 'master' into issue-2867-lambdify-raises