Added DiscreteValueGroup

There has been no class for the value group of a valuation such as the valuation on the p-adics. Implemented as a facade of the rationals.
Reviewer changes: delete is_cdvr functions and friends, add abstract_method to precision_absolute and precision_relative, add some tests
Chains (elements of chain complexes) and their module structure
finished refactoring the homology() method
Fixed super categories and all doctests
fixed bug in is_boundary()
Trac #15174: permutations multiplication order made more explicit and less of a minefield; also other fixes to permutation.py
Fixed a missing assignment in DiscreteValueGroup.
Remove is_unit() from sage.structure.element.Ring and move it to the category of Rings

Before, the default implementation of is_unit() was not picked up by some
fields, e.g., some residue fields. Now this works correctly.
Merge remote-tracking branch 'origin' into build_system
Merge remote-tracking branch 'origin/build_system' into build_system
From Trac patches: trac_12555.patch.
From Trac patches: trac_12555_review.patch.
From Trac patches: 12555_rebase_6223.patch.
From Trac patches: trac_12555_doc_improvements.patch​.
From Trac patches: trac_12555-pdf_fix-ts.patch.
Fixes for some missing/duplicated chunks.
add base_ring argument to toric variety library
Added iterator over the points of a toric variety
separate scheme point sets for subschemes of toric varieties