More shared_ptr ambiguity fixes

MSVC 2012 is strange ;) 

- moved another using std::tr1::shared_ptr into the namespace.
- encasulated an include statement into a ifndef
- expanded an #if statement by (_MSC_VER >= 1700) beacause VC 2012
defines __cplusplus = 199711L but delivers C++11 libs.

Now it builds fine here too.