Fix shared_ptr ambiguity

Have an OSL::shared_ptr, which is either std::shared_ptr (if C++11) or
boost::shared_ptr (not C++11).

Change all explicit refs to boost::shared_ptr and the occasional
implicit reference to OIIO::shared_ptr, all to OSL::shared_ptr.
Fix pair construction problems with some compilers