Add Abs.rewrite(Heaviside)
Fix error message from subs
Abs.rewrite(Heaviside) only happens if the argument is real
Merge branch 'master' into abs_heaviside

Conflicts:
	sympy/functions/elementary/tests/test_complexes.py
	Basic groups, orbit calculations, direct product, minor fixes

	Implemented constructors for symmetric, cyclic, dihedral and
	alternating groups as permutation groups, setting their
	basic properties.

	Replaced some of the orbit/stabilizer functionality present -
	the functions orbit, stabilizer, orbit_transversal - with faster
	implementations. Implemented Schreier vectors and
	group elements sending a given element to another element in
	its orbit.

	Implemented direct products for permutation groups.

	Made minor fixes in the docstrings and removed some duplicate
	functionality from permutations.py.
	Product replacement algorithm

	Implemented the product replacement algorithm for
	finding random elements in black box groups in the
	case of permutation groups, following the suggestions of
	"Handbook on computational group theory", pp.69-71
	Alt/Sym testing

	Implemented a Monte Carlo algorithm for fast testing
	whether a given group is the symmetric or alternating
	group. Random group elements are generated by the product
	replacement algorithm with the modification of Leedham-Green.

	Also, made some little optimizations on the constructors
	for Symmetric/Alternating groups so that the order is not
	calculated at initialization but when neede.

	Removed some checks from the Permutation constructor in
	order to speed it up.
Implemented Atkinson's algorithm
	Primitivity testing

	Primitivity testing in O(n^2) time where n is the degree
	of the permutation group, using Atkinson's algorithm
	following [1].

	A randomization used for quick generation of a large
	subgroup of point stabilizers is used to speed up the
	algorithm.

	Minor improvements/fixes in some of the previous algorithms.

	[1] "Handbook on computational group theory"
Merge branch 'master' into abs_heaviside
	Docstrings, tests, minor fixes, named groups

	Improved the docstrings for the new functions
	introduced.

	Moved the functions creating
	symmetric, alternating, dihedral, cyclic groups
	to a separate file at the suggestion of
	D. Joyner (more named groups to be added later).

	Added tests for randomized algorithms.
physics/matrices.py: fix whitespace formatting

This patch adds space around the "==" and "=" operators.
Merge pull request #1384 from certik/code

physics/matrices.py: fix whitespace formatting
Rely on python's return value to determine if it accepts -R.

Rewrite the check for hash randomization support without relying
on hardcoded python version numbers. If ```python -RV``` returns
without error, we know that hash randomization support is available.
Merge pull request #1385 from jrioux/tests

Rely on python's return value to determine if it accepts -R.
Merge pull request #1259 from asmeurer/abs_heaviside

Abs.rewrite(Heaviside)
[polys/agca] Start agca module.

Specifically: implement boilerplate classes Module, FreeModule, ModuleElement,
FreeModuleElement.

Adapt polyclasses to cooperate in module element multiplication.
[polys] Fix polyclasses arithmetic operators.

This was started in the last commit but not done completely.
[polys/agca] Implement submodules over polynomial rings.
[printing] Add angle brackets '<' and '>' to pretty symbology.