Replace boost::function with std::function
Replace boost::scoped_ptr and boost::scoped_array with std::unique_ptr.
More boost header cleanup.
Replace boost::bind with std::bind.