Fix an important bug (don't steal the dict_)

We can't steal the dict_, because sometimes there is more than one reference to
Mul, so all the other Mul's then become corrupt.

Test was added. We can enable the Python test, as it works now.
Steal the dictionary only for refcount_ == 1

This brings back the optimal speed.
Only access refcount_ in non-thread safe mode

Just to be sure. Add documentation.
Speedup the other branch
Do a copy in pow.cpp rather than move

Because the refcount is not always 1 here.
Refactor the code
Only use refcount_ with WITH_CSYMPY_RCP=yes
Merge pull request #250 from certik/dict_move

Fix an important bug (don't steal the dict_)