Reformat the Basic.rewrite docstring

Better indentation and additional explanatory doctests.
first draft 1dSHO
Added functionality to Q.real and Q.imaginary and fixed issue:2324

>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**2),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**3),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**2),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**y),Q.imaginary(x)&Q.imaginary(y))
True
>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(3))
False
>>> ask(Q.imaginary(x**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary((x*2)**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(x**y),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(I**y),True and Q.imaginary(y))
False

probably a fix to the issue:2324
Added functionality to Q.real and Q.imaginary and fixed issue:2324

>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**2),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**3),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**2),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**y),Q.imaginary(x)&Q.imaginary(y))
True
>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(3))
False
>>> ask(Q.imaginary(x**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary((x*2)**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(x**y),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(I**y),True and Q.imaginary(y))
False

probably a fix to the issue:2324
Added comparions to tuples

>>> Tuple(1,3)>=Tuple(-10,30)
True
>>> Tuple(1,3)<=Tuple(-10,30)
False
>>>
Added functionality to Q.real and Q.imaginary and fixed issue:2324

>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**2),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**3),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**2),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**y),Q.imaginary(x)&Q.imaginary(y))
True
>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(3))
False
>>> ask(Q.imaginary(x**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary((x*2)**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(x**y),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(I**y),True and Q.imaginary(y))
False

probably a fix to the issue:2324
Added functionality to Q.real and Q.imaginary and fixed issue:2324

>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**2),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**3),Q.imaginary(x)&Q.real(2))
True
>>> ask(Q.imaginary(x**2),Q.imaginary(x)&Q.real(2))
False
>>> ask(Q.real(x**y),Q.imaginary(x)&Q.imaginary(y))
True
>>> ask(Q.real(x**3),Q.imaginary(x)&Q.real(3))
False
>>> ask(Q.imaginary(x**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary((x*2)**(3*y)),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(x**y),Q.imaginary(x)&Q.imaginary(y))
False
>>> ask(Q.imaginary(I**y),True and Q.imaginary(y))
False

probably a fix to the issue:2324
updated
Updated tests
Corrected spelling
Merge branch 'master' of git://github.com/sympy/sympy into sachin1

Conflicts:
	sympy/assumptions/handlers/sets.py
	sympy/assumptions/tests/test_query.py
first draft 1dSHO
Fixing adjoint
Fixed RaisingOp printing
Fixed RaisingOp Printing
Removed unecessary code
Added _apply_operator
Added Hamiltonian and NumberOp
Fixed adjoint and added more commutators
First test code for sho1d