finite and infinite are both complex

If we assume finite == !infinite in assumptions, we
create an alias: finite=False is the same as infinite=True
and vice versa. We don't want to do that. What we want is
behavior like integer and noninteger:

Dummy(integer=0) is not the same thing as Dummy(noninteger=1).
A noninteger is commutative, complex, hermitian, noninteger,
nonzero, and real while integer=0 is only commutative -- nothing
else is known about it (other than that it is not 0).

/!\ In general, it is much easier to comprehend what one means
by using only true attributes to desccribe it. If something is
not zero but still complex, say nonzero=True instead of zero=False.

So assumptions.py has been modified to make the following true:

```
finite  : 0 <= abs(x) < oo
infinite : abs(x) == oo
> What is wrong with saying that all complex numbers can be considered finite or infinite?

Same as for reals vs extended reals.

Second, I don't sure we should restrict finite/infinite meaning to (extended) real&complex numbers only (i.e., should be -> instead of ==).  See also https://github.com/sympy/sympy/pull/8043#issuecomment-56768737