Fix fact extraction from composite assumptions.

_extract_facts is only passed expressions in CNF and returns None
when it can't find a meaningful fact to extract.

This is enough to guarantee a correct handling of all possible forms of
assumptions and allows the following to work correctly:

    assert ask(Q.real(x), Q.real(x) & Q.real(y)) is True
    assert ask(Q.real(x), Q.real(x) | Q.real(y)) is None
    assert ask(Q.real(x), ~(Q.real(x) >> Q.real(y))) is True
Fix tests for composite assumptions, add new ones in test_assumptions_2.py/test_query.py
Fix typo
Merge branch 'master' into pr343-fix

Conflicts:
	sympy/assumptions/tests/test_query.py
Merge pull request #2476 from skirpichev/pr343-fix

Fix fact extraction from composite assumptions