8285,8289: further refine complex intervals while sorting

Polynomials having complex roots with a real part of 0 have
to be handled separately since they will never become horizontally
disjoint from each other. The only way that a pure imaginary root
can occur is from a binomial factor. For ax**2 + b the roots will be
imaginary when a*b > 0 and for ax**(2**i)+b for i > 1 two roots will
be imaginary if a*b < 0.

Watch out for issue 8316; issue a warning.
8294: remove sorting from polyroots
avoid using roots(multiple=True) if possible

- add test for DiracDelta simplification involving several roots
  and simplify tests in its computation