cython: patch: gdb output dir option
Refactoring ChainComplex as a Parent for Chains

* Various code refactoring to make it less copy&pasteish
* Slight change of conventions: ChainComplex._diff shall contain all
  differentials that are not 0x0. Before, we left out "obvious"
  incoming zero differentials that are 0xn.
Ascii art and more code refactoring for chain complexes
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()
Merge branch 'master' into chain_complex_parents
Merge branch 'ticket/15161' into public/homology/chain_complex_parents-15161
Some review changes -- code tweaks and doc formatting.
Fixed minor bug introduced in chain_complex_morphism.py.
Added files to documentation and fixed internal link.
declare closure_callgenvec in sage/libs/pari/decl.pxi
allow evaluation of PARI closure objects
Merge branch 'u/pbruin/15461_clean_up_pari_interface' of git://trac.sagemath.org/sage into ticket/15447
Support __call__(**kwds) using gsubstvec()
csage: use forward python3 compatible api
replace PIL with Pillow
Pillow: re-resolve #9864
doc: remove now unused environment variables