Merge pull request #1599 from xoedusk/694_wester_tests

694 wester tests
Merge branch 'master' into integration3

Conflicts:
	sympy/integrals/risch.py
	sympy/integrals/tests/test_integrals.py
	sympy/integrals/tests/test_risch.py
	sympy/matrices/matrices.py
	sympy/matrices/tests/test_matrices.py
	sympy/polys/euclidtools.py
	sympy/polys/polytools.py
	sympy/polys/tests/test_densetools.py
	sympy/polys/tests/test_domains.py
Split DifferentialExtension tests and xfail hash-dependent one
doc corrections for solve_linear_system
Merge pull request #1617 from rlamy/integration3

The long-awaited merge of Aaron Meurer's 2010 GSoC project. There are a lot of commits, many of which are redundant in the final diff, but nobody in their right mind wants to go back and fix it, so whatever.
piecewise: Evaluate Equality after a substitution.
piecewise: Remove consecutive identical conditions.
Coding style: sympy/integrals/deltafunctions.py
Move deltaintegrate tests to their own file.
Fix wrong result for integrate(DiracDelta(y - x), x).
Bring coverage of integrals/deltafunctions.py to 100%.
Rewrite tests in terms of deltaintegrate instead of integrate.
fix improperly formatted exceptions in grover.
Merge pull request #1624 from teeler/master

Fix improperly formatted exception messages in quantum.
piecewise: Handle NotImplementedError from solve.
Return DiracDelta(0) unevaluated.

This is needed to keep track of prefactors to DiracDelta(0),
otherwise the Infinity automatically gobbles them.
Handle integrate(DiracDelta(x)**2, x).

>>> integrate(DiracDelta(x)**2, (x,))
DiracDelta(0)*Heaviside(x)
>>> integrate(DiracDelta(x)**2, (x, -oo, oo))
DiracDelta(0)
Add Tyler Pirtle to AUTHORS/aboutus. Welcome to SymPy!
Fix issue 1423: integrating DiracDelta fails sometimes

It failed because the result is zero and bool(zero) is False.
One should use `result is not None` instead of `bool(result)`.
Add tests from issues 1423, 2630 and 3328.