Equality: less automatic simplification, fix 'Eq(p, 0)' for p positive

Stop using the `_eval_sides` code in `Equality.__new__`.
This drops the heavy `dif.equals(0)`; replace it with `dif.is_zero` which
will catch incompatibility by assumption and other straightforward
reductions.

Fixes issue #6116.  Namely, `Eq(p, 0)` returning unevaluated when
`p = Symbol('p', positive=True)`.  Now it returns S.false.

(The .equals(0) stuff happens in simplification---via a previous change for
inequalities from pull request #7987).  Add some commented code for a
possibly simpler version, in case we remove `_eval_sides` later.

Update the Equality docstring for these changes.
Equality: unXFAIL the Eq(p, 0) is S.false test
Equality: use is_zero test only when is_complex is True

Prevents failures with noncommutative symbols.
Can probably drop this commit after pull request #7997.
Equality: add test for failure with noncommutative symbols
Equality: simplify tests (rely on is_zero testing elsewhere)
Add test for issue 7793
Equality: tests: no simplification on construction; bool on simplify()