handle Subscription using boost::shared_ptr rather than std::shared_ptr

gcc does not seem to care, clang does.