806: Implement hyper.rewrite(Sum)

This adds the function _eval_rewrite_as_Sum to the class hyper.
806: hyper.rewrite(Sum)

Change return value to Piecewise
Add tests
apart and cancel are nc-aware
2699: use xthreaded, not threaded in apart
806: Improve code style
modify xthreaded and xreplace to fail gracefully

- xreplace leave args that don't implement xreplace alone
- xtrheaded allows objects that don't rebuild to return unchanged
modifications to simplify

== add quick exit for simplify if expr is Atom

== 3712: try return factored expression more often

== 3730: use as_content_primitive and cancel
Merge pull request #1925 from smichr/3712

3712 - simplify changes
minor parser edits
Merge pull request #2032 from katjasophie/806_hyper.rewrite(Sum)

Issue 806: Implement hyper.rewrite(Sum)
Update Raoul in the .mailmap file
Merge branch 'master' of github.com:sympy/sympy
Skeleton for elliptic integrals
major rewrite of pull #1408:

    * change names
    * docstrings
    * some documentation
    * mpmath translations
    * eval(), fdiff(), some rewrite methods
Added tests for elliptic integrals
Some support for latex printing of elliptic integrals
Add tests for elliptic integrals in test_args.py
Add complete elliptic integrals to the table for hyperexpand()