Remove glob imports from sympy/matrices.
Replace 1/2 by S(1)/2 in sympy/physics/quantum/tests/test_spin.py
Add is_commutative test for Dagger().
Implement (anti-)Hermitian assumption for symbols.

In sympy, conjugate() is complex conjugation, not Hermite conjugation.
Implement adjoint() for Hermite conjugation and add an Hermitian
assumption for self-adjoint symbols.  Also implement anti-Hermitian
or skew-Hermitian assumption (anti-Hermitian implies not Hermitian).

>>> A = Symbol('A', hermitian=True)
>>> B = Symbol('B', antihermitian=True)
>>> adjoint(A)
A
>>> adjoint(B)
-B
>>> adjoint(A*B)
-A*B
>>> adjoint(B*B)
B**2

The adjoint() function is defined in the follow-up commit.
Implement adjoint(): Hermite conjugation.

- adjoint():   Hermite conjugation or conjugate transposition,
- transpose(): Linear map transposition.

>>> A = Symbol('A', hermitian=True)
>>> B = Symbol('B', antihermitian=True)
>>> C = Symbol('C')
>>> M = Matrix(3, 1, [1,I,3])
>>> adjoint(A)
A
>>> adjoint(B)
-B
>>> adjoint(A*B)
-A*B
>>> adjoint(B*B)
B**2
>>> adjoint(C)
conjugate(transpose(C))
>>> M.adjoint()
[1, -I, 3]
Merge adjoint and Dagger implementations.

Use the printing that was written for Dagger in adjoint.

Let Dagger subclass adjoint and call adjoint() on its argument,
while using conjugate(transpose(argument)) as a fallback.

Implement _eval_adjoint for QExpr and all derived classes.
Make physics/quantum rely on assumptions whenever possible.
Implement conjugate() and adjoint() for MatMul.
Merge branch 'master' into Hermitian

Conflicts:
	sympy/core/add.py
	sympy/functions/elementary/complexes.py
Merge branch 'master' into Hermitian

Conflicts:
	sympy/core/assumptions.py
	sympy/functions/__init__.py
	sympy/physics/quantum/anticommutator.py
	sympy/physics/quantum/commutator.py
	sympy/physics/quantum/dagger.py
	sympy/physics/quantum/innerproduct.py
	sympy/physics/quantum/operator.py
	sympy/physics/quantum/qexpr.py
	sympy/physics/quantum/qft.py
	sympy/physics/quantum/tensorproduct.py
	sympy/physics/quantum/tests/test_spin.py
Merge branch 'master' into Hermitian

Conflicts:
	sympy/physics/quantum/dagger.py
Merge branch 'master' into Hermitian

Conflicts:
	sympy/matrices/__init__.py
	sympy/matrices/expressions/__init__.py
Merge branch 'master' into Hermitian

Conflicts:
	sympy/core/add.py
	sympy/core/power.py
	sympy/matrices/expressions/blockmatrix.py
	sympy/matrices/expressions/matexpr.py
	sympy/matrices/expressions/transpose.py
	sympy/matrices/immutable_matrix.py
Revised6: LagrangesMethod class for sympy.physics.mechanics.
Minor edits.
ADDED ROLLING DISC TEST AND MINOR EDITS.

The rolling disc test has been included.

Two minor edits have been included:
- addition of the energy function to determine the Lagrangian.
- slight modification of the 'rhs' method in the LagrangesMethod class.
ADDED LAGRANGIAN AND SOME OTHER CORRECTIONS

A Lagrangian function has been added to 'functions.py' and appropriately
used now in the tests.

Corrected an error in the docstring of 'kinetic_energy'.

Modified the 'potential_energy' methods for both Particle and RigidBody;
the default value is now zero thus preventing the user from having to
set potential energy when there is none.
Merge branch 'master' into Hermitian

Conflicts:
	sympy/matrices/__init__.py
	sympy/matrices/expressions/__init__.py
	sympy/matrices/expressions/blockmatrix.py
	sympy/matrices/immutable_matrix.py
ADDED WHITESPACE AFTER A COMMA.

I had forgotten to address one of Ondrej's comments on PR 1407 so I have
taken care of that here.
ADDED USAGE OF LAGRANGIAN IN DOCSTRING EXAMPLE.