Fix issue #879: series of undefined functions.
Issue 879: add test for series of a subclass of Function.

Now we can use also

    >>> class TestF(Function):
    ...     pass
    >>> TestF(x).series(x)
Issue 879: fix python3 failure.
3128: Sum/Product Simplification.
Simplification now hooked to simplify.
A bug fixed. Tests updated.
Tests updated.
Code quality improved.
Merge conflicts fixed.
Test failures fixed.
Removed two redundant tests.
Changed the Algorithm.
Simplification is now order independent.
Removed unused imports
Removed redundant If statements.
Method change_index() added for changing index.
Example failures fixed.
Example failures fixed.
Example failures fixed.
Example failures fixed.