Don't use new assumptions in the sets module
Implement a symbolic object for the relation "is an element of"

1. fixes #6194
2. contains methods of set classes were modified to return
   BooleanAtom's, not True/False
Printing support for Contains class
Fix some asserts to check if foo.contains(bar) is S.true
Remove .is_infinitesimal assumption
Merge pull request #7989 from skirpichev/contains

Implement a symbolic object for the relation "is an element of"
Merge pull request #7995 from skirpichev/remove-is_infinitesimal

Remove .is_infinitesimal assumption
watch for pairs of imaginaries that control Mul sign
use more suggestive symbol name in test
watch for sign change from I in sign()
simplify sign code, watch for recursion
use im_count to keep track of imaginary contribution to sign
simplify is_negative loop
add sign.is_(nonnegative|nonpositive)
simplify Mul._eval_is_negative

The test_arit.py test suite runs slightly slower with this change: a 4 run
average gives 6.71 sec now whereas previously it was 6.58 (for a 4 run
ave).
use only sign and xfail test
add quick exit for imaginary symbol
use evaluate context manager in some tests
Revert "use evaluate context manager in some tests"

This reverts commit 2c16c7deda835200be1eec3bde69e2b2ab04e758.
rename variables and use Dummy [skip ci]