Replaced boost::shared_ptr with std::shared_ptr
Replaced boost::function with std::function where appropriate
Replaced boost::bind with std::bind

boost::shared_ptr is still in use for compatibility with boost::log and boost::serialization