sympy.physics.quantum.pauli

This pull request contains a few minor fixes for the sympy.physics.quantum, and a new module for pauli operators, like sigma x, sigma y, sigma z, and the annihilation and creation operators sigma minus and sigma plus.

The pauli sigma operators are of course a special case of the angular momentum spin J operators, but I think they are deserve operator classes of their own because they are so commonly used. I have been looking at ways of making the new pauli operator classes subclasses of spin J classes, but I found that there was no advantage in doing that, because I had to reimplement all the methods and add new ones. However, earlier this summer when I discussed the  sympy.physics.quantum.fermion and sympy.physics.quantum.boson modules with @ellisonbg I also mentioned that I had worked a bit on these pauli operator classes and he recommended asking @flacjacket for advise and discussion on how these pauli operator classes could be related to the existing spin J operator classes.

So, @flacjacket, if you could have a look at this PR and give comments I would be very grateful. Also @ellisonbg  and @certik might be interested in having a look.

Here are a few ipython notebook that demonstrates a few applications of the new pauli operators implemented in this PR:

http://nbviewer.ipython.org/github/jrjohansson/sympy-quantum-notebooks/blob/master/lecture-sympy-quantum-two-level-system.ipynb

http://nbviewer.ipython.org/github/jrjohansson/sympy-quantum-notebooks/blob/master/lecture-sympy-quantum-atom-cavity.ipynb

http://nbviewer.ipython.org/github/eunjongkim/reproduced-papers/blob/master/Reproduce-PRA-80-033846-2009-Zueco.ipynb
I am greatly puzzled at this logic. It is saying that Operator1*Operator2 -> Operator 2!?!