Transfer the sorting of arguments of 'Add' from 'flatten'.

to '_hashable_content'.
Fix the order in the doctests.
Fix the ordering in the tests.
Save _hashable_content tuple to be computed once from constructor,

That is this tuple itself cached too.
Not that it is half-hearted decision. The situation is possible,
when the hashes of arguments can be changed themselves, but there
is no guarantee that the order of arguments will be appropriated
them.

Anather disadvantage, that a new __slot__ for Basic class is added.

But this commit reduse the number of `sorted` calls:

This commit:
271902/264242    1.228    0.000    6.916    0.000 {sorted}

Previouse one:
556327/548246    2.156    0.000    8.342    0.000 {sorted}

Master (when sorting of argument is an Add class constructor):
175964/169169    0.705    0.000    5.757    0.000 {sorted}
Remove random sorting of Add arguments, insert nested Add inplace.

While cycling in Add.flatten the recursion is organized as
a cycle, which in particular two problems solves.
But with reordering.

1. The task to collect similar terms

    2*x**2 + y + 5*x**2   --> 7*x**2 + y

was solved originaly with the help of the dictionary
(`{x**2:7,y:S.One}`) but firther cycle by keys reorder them
randomly (or by hash).

In this commit The way of accumulation is changed, so do not break
original order.

2. The task of nested Adds was solved with the help of the recursion
which is organized as a cycle.

    Add(a, Add(b, c), d) --> Add(a, d, b, c)

In this commit nested Add's are inserted in-place now:

    Add(a, Add(b, c), d) --> Add(a, b, c, d)
Fix tests (revert piecewise test)
Add.flatten: if nested Mul: x + 2*(a + b))
Add comments, and clear.
assumptions: (E +(*) pi).is_irrational is True now.
Begin Sequenses, TaylorSeries
Transform Sequence class to be based on Expr class
sequences: add slicing, add recurrence definition
Created base classes for sequences of variouse kinds.
Add start_index/stop_index for SqeAdd class.
Use Interval for sequences
Begin Taylor series.
Begin TaylorSeries 2
TaylorSeries: realize two type of str() representations.
SeqAdd: return EmptySequence if needed.
Aplly simple operations for sequences.