Smart operators for smart Ptr

KK:

There are a couple of remarks regarding your pull request. It would be great if you could fix them in near future:
1. Symmetrical != operator is needed.
2. Comparison with 0 is broken, but it would be nice to have it.
3. It is possible that comparison of refcounts is not the best choice. In Boost it is implemented differently, you can contact Andrey K. for more details.

Answers:
1. Added
2. Disagree 
3. No difference